Rails ActiveAdmin不能在Heroku上工作但可以在Localhost上工作

时间:2017-07-21 07:20:13

标签: ruby-on-rails ruby heroku activeadmin

我在现有项目上安装了ActiveAdmin gem,我能够在Localhost上登录并遵循文档,一切都在localhost上完美运行。 但是在Heroku上我无法登录。 运行heroku run rake db:seed后,我无法使用平常登录。

Email: admin@example.com 
Password: password

我收到以下错误

Invalid Email or password.

关于如何解决这个问题的任何想法?

3 个答案:

答案 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)

试试这个

  1. heroku restart

  2. heroku pg:reset DATABASEheroku pg:reset DATABASE_URL#重置数据库

  3. heroku run rake db:setup

  4. 注意:必须如上所述指定DATABASE,您不必担心DATABASE_URL(它是在Heroku上设置的环境变量)

答案 2 :(得分:0)

你推到heroku后试试这个吗?

heroku run rake db:create

 heroku run rake db:migrate