将应用程序部署到Heroku时遇到问题。该页面在本地模式下完美运行(localhost:3000),但是当我访问heroku的同一页面时,我得到一个“我们很抱歉,但出了点问题。”错误。
heroku日志声明如下:
ActionView :: Template :: Error(未定义的方法`name'代表nil:NilClass)
控制器中的代码:
def week
@bestbuy = Retailer.find_by(name: "bestbuy")
end
routes.rb中的代码:
match '/week', to: 'static_pages#week', via: 'get'
视图中的代码:
<%= @bestbuy.name.upcase %>
我运行了以下命令:
git commit -a -m "message"
git push heroku
heroku run rake db:migrate
heroku restart
heroku open
我的Gemfile
中有宝石'rails_12factor'任何帮助表示赞赏。谢谢!
答案 0 :(得分:0)
如果找不到符合条件(docs)的记录,find_by
方法将返回nil
。在这种情况下,您的生产数据库看起来好像不包含名称为&#34; bestbuy&#34;的零售商。
我通过直接查看数据库来检查它是否包含您期望的数据(请参阅https://devcenter.heroku.com/articles/heroku-postgresql#using-the-cli了解如何使用Heroku执行此操作)来开始调试。