用户模型有一个功能
def self.createadmin(
User.create(:email => "abc@gmail.com", :password => "123456e", :password_confirmation => "123456e", :terms_of_service => '1')
end
在rake db:seed中,我必须调用User.createadmin
然而,这失败了
ActionView::Template::Error: ActionView::Template::Error
from /Users/bever/Projects/tr/app/views/devise/mailer/confirmation_instructions.html.erb:3:in `_app_views_devise_mailer_confirmation_instructions_html_erb___1974818942364630283_2154906860'
然后我更改了createadmin中的代码
begin
User.create(:email => "abc@gmail.com", :password => "123456e", :password_confirmation => "123456e", :terms_of_service => '1')
rescue => e
User.create(:email => "abc@gmail.com", :password => "123456e", :password_confirmation => "123456e", :terms_of_service => '1')
end
有效!任何线索为什么会发生这种情况?
答案 0 :(得分:2)
您是否尝试过db / seeds.rb文件而不是模型?当您尝试在模型上执行此操作时,设计可能会尝试发送确认邮件。
您应该像这样
在seeds.rb文件上创建管理员用户User.create(:email => "abc@gmail.com", :password => "123456e", :password_confirmation => "123456e", :terms_of_service => '1')
请记住,如果您使用的是设计的可确认模块,则应将此字段添加到查询中。
:confirmed_at => Time.now
也许您应该添加确认令牌和其他字段,这些字段对于通过rails应用管理帐户管理帐户非常有用,而不是在控制台上。
PD:可能如果您发布更多显示的错误,也许视图中的行可以帮助您更多。
问候