如何在Devise中填充一些默认用户?

问题描述:

我正在努力让Devise在我的Rails应用程序中工作。我是一个新的Rails用户。什么是添加一些默认用户的正确方法?如何在Devise中填充一些默认用户?

的正常方式建立在Rails的任何默认数据是通过在db/seeds.rb添加数据:

user1 = User.create :name => "User1", :email => "[email protected]", :password => "user123" 

根据您的验证和设计,你可能需要输入多个字段功能。为了使用这些数据,您只需拨打rake db:seed

rake db:migrate 
rake db:seed 
+2

你也可以像添加代码:如果Rails.env ==“发展”,如果你有环境的具体种子 –

+1

另外'耙分贝:reset'会做数据库的完全复位,包括为你重新种子。派上用场。 – ardavis

Faker是一个很好的选择,如果你不想手动编写所有的用户。

faker tutorial显示了如何使用gem在相对简单的rake任务中填充数据库。

+0

第二个链接已损坏 – 0112

此外:以下方法将不起作用。

User.new 
User.name = "Bob" 
User.password = "Bob123" 
User.password_confirmation = "Bob123" 
User.save! ## Exception raised => Password field cannot be blank. 

由于在用户调用'new'后,Devise运行其内部方法,如'生成密码的加密密码'。所以,User.new引发异常,说没有提供密码。而使用,无论是

User.create({ :name => "Bob", ... }) # or 
User.new({ :name => "Bob", ... }).save