2

我第一次在 Heroku 上发布 Rails 应用程序,但遇到了错误。一切都很好,除了登陆页面加载。在登陆页面上,有 Devise 的注册和登录按钮,但它们只会抛出 500 个错误页面。我打开 Heroku 日志,看到这些:

2013-08-27T19:00:55.036186+00:00 app[web.1]: Processing by Devise::SessionsController#new as HTML
2013-08-27T19:00:55.035363+00:00 heroku[router]: at=info method=GET path=/users/sign_in host=infinite-escarpment-6269.herokuapp.com fwd="98.245.21.165" dyno=web.1 connect=3ms service=20ms status=500 bytes=643
2013-08-27T19:00:55.773025+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=infinite-escarpment-6269.herokuapp.com fwd="98.245.21.165" dyno=web.1 connect=2ms service=14ms status=304 bytes=0
2013-08-27T19:00:01.630144+00:00 heroku[router]: at=info method=GET path=/users/sign_up host=infinite-escarpment-6269.herokuapp.com fwd="98.245.21.165" dyno=web.1 connect=5ms service=150ms status=500 bytes=643

我在这里看不到任何错误代码。我的应用程序使用的是 PostgreSQL,我在数据库上运行的唯一命令是heroku run rake db:create:allheroku run rake db:migrate. 我是否需要在我的 database.yml 文件中进行任何更改才能让网站在 Heroku 上运行?我是否需要编写任何迁移以使该站点在 Heroku 上运行?我对这一切都很陌生,所以我不确定。我一直在按照 Heroku 的入门说明进行操作。

更新 我跟踪日志并看到与 PostgreSQL 相关的错误消息:

ActiveRecord::StatementInvalid (PG::Error: ERROR:  relation "users" does not exist

这个错误信息对我来说很熟悉,但我不记得该怎么办了。

4

2 回答 2

4

错误表明您没有表用户。可能您没有运行迁移。

这样做:

heroku run rake db:migrate
于 2013-08-27T19:59:20.523 回答
1

在我的情况下,没有加载设计,所以你有require 'devise'在顶部/config/initializers/devise.rb吗?如果不在本地添加,则重新推送到 heroku 并运行 heroku rake db:migrate ,如果在推送到 heroku 期间有任何奇怪的消息,请将其添加到您的问题中。

于 2013-08-27T19:41:18.097 回答