我是第一次在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:all
和heroku run rake db:migrate
。我是否需要在database.yml文件中进行任何更改才能使网站在Heroku上运行?我是否需要编写任何迁移才能使网站在Heroku上运行?我对这一切都不熟悉,所以我不确定。我刚刚关注了Heroku上的入门说明。
更新 我将日志添加到日志中并查看与PostgreSQL相关的错误消息:
ActiveRecord::StatementInvalid (PG::Error: ERROR: relation "users" does not exist
此错误消息对我来说很熟悉,但我不记得该怎么做了。
答案 0 :(得分:4)
错误表明您没有表用户。可能你没有进行迁移。
这样做:
heroku run rake db:migrate
答案 1 :(得分:1)
在我的情况下,没有加载设计,你在require 'devise'
的顶部有/config/initializers/devise.rb
吗?如果不在本地添加它然后重新推送到heroku并运行heroku rake db:migrate,如果在推送到heroku期间有任何奇怪的消息添加到你的问题。