我很确定我理解seed.rb的播种工作,但我似乎无法使用它将 restful_authentication 用户对象粘贴到数据库中。
User.create(:login => 'admin',
:role => Role.find_by_name('super_admin'),
:email => 'admin@example.com',
:password => '123123')
我错过了什么吗?
编辑:我也尝试添加密码确认。仍然没有。
答案 0 :(得分:2)
使用相同的参数尝试User.create!()
。这将在控制台中显示任何验证错误。
答案 1 :(得分:1)
密码确认?
答案 2 :(得分:1)
您是否已启用通知?如果是这样,User
模型正在尝试发送
电子邮件通知。如果尚未配置电子邮件服务器,则执行create操作
会失败。
我必须做以下事情来解决这个问题。
添加名为dont_notify
的虚拟属性。
class User < ActiveRecord::Base
# add a attribute
attr_accessor dont_notify
end
class UserObserver < ActiveRecord::Observer
def after_create(user)
return if user.dont_notify? #notice this line
UserMailer.deliver_signup_notification(user)
end
def after_save(user)
return if user.dont_notify? #notice this line
UserMailer.deliver_activation(user) if user.recently_activated?
end
end
dont_notify
标志在你seed.rb
设置标志。
User.create(:login => 'admin',
:role => Role.find_by_name('super_admin'),
:email => 'admin@example.com',
:password => '123123',
:password_confirmation => '123123',
:dont_notify => true
)