Heroku日志显示以下错误:
ActionView::Template::Error (undefined method `accepted_answer_id' for #<Question:0x000000052fd1e0>)
作为背景,我有一个模型Question
,has_many
答案。 Question
也有一列accepted_answer_id
。
未定义的方法错误是指_question.html.erb
中的一行,用于在不同的阴影背景中自定义答案计数的显示
<% if question.answers.count > 0 %>
<% if question.accepted_answer_id %>
<div class="pickedanswer">
<h4><%= question.answers.count %></h4>
</div>
<% else %>
<div class="numanswer">
<h4><%= question.answers.count %></h4>
</div>
<% end %>
<% else %>
<div class="noanswer">
<h4><%= question.answers.count%></h4>
</div>
<% end %>
我认为由于最初question.accepted_answer_id
是nil
这一事实可能会引发错误..但考虑到我构建逻辑的方式,我不知道为什么它不能简单地跟随(因为它在开发中已经成功完成了。)
感谢您的帮助。
答案 0 :(得分:2)
我多次遇到过这个问题,这些是我采取的步骤:
首先确保您已在heroku上迁移数据库:
heroku run rake db:migrate
确保数据库实际上是在heroku上迁移的:
heroku pg:psql -a app_name
\d table_name
最后在heroku上重启应用程序:
heroku restart