加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Devise ::无法通过rake db:seed创建用户(失败confirm_instructi

发布时间:2020-12-17 07:08:46 所属栏目:百科 来源:网络整理
导读:用户模型有一个功能 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::Templa
用户模型有一个功能

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",:terms_of_service => '1')
rescue => e
User.create(:email => "abc@gmail.com",:terms_of_service => '1')
end

有用!任何线索为什么会发生这种情况?

解决方法

您是否尝试过db / seeds.rb文件而不是模型?当您尝试在模型上执行此操作时,设计可能会尝试发送确认邮件.

你应该像这样在seeds.rb文件上创建你的admin用户

User.create(:email => "abc@gmail.com",:terms_of_service => '1')

请记住,如果您使用的是设计的可确认模块,则应将此字段添加到查询中.

:confirmed_at => Time.now

也许您应该添加确认令牌和其他字段,这些字段对于通过rails应用程序管理您的管理员帐户非常有用,而不是在控制台上.

PD:可能如果您发布更多显示的错误,也许视图中的行可以帮助您更多.

问候

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读