我在现有项目上安装了ActiveAdmin gem,我能够在Localhost上登录并遵循文档,一切都在localhost上完美运行。
但是在Heroku上我无法登录。
运行heroku run rake db:seed
后,我无法使用平常登录。
Email: admin@example.com
Password: password
我收到以下错误
Invalid Email or password.
关于如何解决这个问题的任何想法?
答案 0 :(得分:2)
我得到了它的工作。问题出在db / seed.rb文件中。
看起来Heroku删除了免费用户从终端访问控制台的访问权限。所以heroku run rake or rails console
没有用。
之前我没有在种子文件中读取代码直到最后。这是它:
AdminUser.create!(email: 'admin@example.com', password: 'password', password_confirmation: 'password') if Rails.env.development?
这意味着创建的示例AdminUser仅适用于开发环境。 它被推到了heroku的那一刻就变成了一个生产环境。 因为我不能通过Heroku进入rails控制台。 我必须在种子文件中添加一个新行,如下所示:
AdminUser.create!(email: 'admin@whateveryouwantyoursitetobe.com', password: 'SomePassword', password_confirmation: 'SomePassword')
现在重新推送到heroku。并运行heroku run rake db:seed
现在,新的AdminUser详细信息将适用于您的whateveryouwantyoursitetobe.com/admin
答案 1 :(得分:0)
试试这个
heroku restart
heroku pg:reset DATABASE
或heroku pg:reset DATABASE_URL
#重置数据库
heroku run rake db:setup
注意:必须如上所述指定DATABASE,您不必担心DATABASE_URL
(它是在Heroku上设置的环境变量)
答案 2 :(得分:0)
你推到heroku后试试这个吗?
heroku run rake db:create
heroku run rake db:migrate