Rails ActiveAdmin 不在 Heroku 上工作,但在 Localhost 上工作

Rails ActiveAdmin not Working on Heroku but works on Localhost

我在现有项目上安装了 ActiveAdmin gem,我能够在 Localhost 上登录并按照文档在 localhost 上一切正常。 但是在 Heroku 上我无法登录。 在运行heroku run rake db:seed之后我无法正常登录。

Email: admin@example.com 
Password: password

我收到以下错误

Invalid Email or password.

知道如何解决这个问题吗?

试试这个

  1. heroku restart

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

  3. heroku run rake db:setup

注意: 必须像上面那样指定DATABASE,不用担心DATABASE_URL(Heroku上设置的环境变量)

我让它工作了。问题出在 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 详细信息将适用于您想要的任何网站。com/admin

推送到 heroku 后你试过这个吗???

heroku run rake db:create

 heroku run rake db:migrate