Rails用户身份验证:您可以对用户进行硬编码吗?

时间:2016-01-24 21:17:14

标签: ruby-on-rails authentication dbmigrate hardcode

我有一个带有用户身份验证的工作轨道应用程序。我想自动编写我的帐户,因为我将拥有管理员角色而没有其他人会这样做。有没有办法做到这一点?

顺便说一句,我的db / migrate表如下所示:

class CreateUsers < ActiveRecord::Migration
    def change
        create_table :users do |t|
            t.string :first_name
            t.string :last_name
            t.string :email
            t.string :password_digest
            t.string :role, default => 'reader'
            t.timestamps null: false
        end
    end
end

3 个答案:

答案 0 :(得分:1)

添加创建特定用户(rails generate migration AddAdmin)的迁移(例如,使用User.create(...))。

答案 1 :(得分:0)

我认为最好的方法是使用seed功能已添加到rails 2.3.4

db/seeds.rb

使用种子文件只需为ex:User.create(...)添加代码并运行rake db:seed

答案 2 :(得分:0)

你可以写一个像这样的方法:

class CreateUsers < ActiveRecord::Base
  def self.create_admin
  create(first_name:"xxx",last_name:"xxx",email:"xxx",password:"xxxx",
    role:"admin")
  end
end

然后在rails控制台中运行此方法