heroku运行rake db:seed失败

时间:2019-02-27 02:59:22

标签: ruby-on-rails heroku

我在heroku上创建了一个Web应用程序,并尝试通过heroku rake db:seed添加管理员用户。我可以使用户成为一个应用程序,但是我不知道如何在seeds.rb中很好地编码。 heroku run rake db:migrate成功。 到目前为止,我无法使用adminadminpw登录。

timestamp_create_user.rb

class CreateUsers < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      t.string :userid
      t.string :email
      t.string :password_digest

      t.timestamps
    end
  end
end

seeds.rb

User.create!(
   userid: 'admin',
   email: 'admin@testing.com',
   password: 'adminpw',
   passwor_confirmation: 'adminpw',
   admin: true
)

heroku日志

  
    

,[2019-02-27T02:46:45.074640#4]调试-:(1.7ms)从“ schema_migrations”中选择“ schema_migrations”。“ version”从“ schema_migrations”中订购。“ version” ASC

  

1 个答案:

答案 0 :(得分:1)

您可以通过执行以下操作来诊断错误。运行rails c

现在在rails c的提示符下添加以下行

u = User.create!(
   userid: 'admin',
   email: 'admin@testing.com',
   password: 'adminpw',
   passwor_confirmation: 'adminpw',
   admin: true
)

现在写以下内容以查看错误或有效吗?

u.valid?

如果您得到的是假,则意味着您的信息有误或验证没有被提交。要确切了解问题所在,请使用以下命令

u.errors.messages

现在您将知道什么是错误,可以对其进行修改以获取适当的数据种子。