【问题标题】:heroku run rake db:seed is failedheroku 运行 rake db:seed 失败
【发布时间】:2019-02-27 02:59:22
【问题描述】:

我在 heroku 上做了一个 web 应用程序,并尝试通过heroku rake db:seed 添加管理员用户。我可以在应用程序中创建用户,但我不知道如何在种子.rb 中编写好代码。 heroku run rake db:migrate 成功。 截至目前,我无法使用admin 和adminpw 登录。

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] DEBUG -- : (1.7ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC

【问题讨论】:

  • 可能存在一些不同的问题。检查您的password_confirmation 拼写...您使用的是设计吗?

标签: ruby-on-rails heroku


【解决方案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

现在您将知道什么是错误,您可以对其进行修改以获得正确的数据播种。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多