【发布时间】:2019-07-29 02:54:05
【问题描述】:
我已将我的 Rails 应用程序部署到 Heroku,但类别和子类别不再存在。
我的主页上显示了类别和子类别,但部署后类别和子类别不显示。当我在本地运行应用程序时,会显示类别和子类别。
在我尝试将我的应用部署到 Heroku 之前,我收到了与类别和子类别相关的错误。为了解决我之前的错误,我将类别和子类别放在 if 语句中:
<% if Category.exists?(id) %>
<% end %>
对我来说,问题似乎是这些类别存在于我的本地服务器上的数据库中,但不存在于 Heroku 服务器上。
【问题讨论】:
-
当您在这里提问时,请注意只分享相关代码。您问题中的大多数代码完全无关紧要。见How to Ask。我们想要一个minimal reproducible example,强调minimal。
-
克里斯回答了你的问题,但我也会给出一些建议。在您的类别控制器中,您没有对查询进行排序,同时您正在按索引提取记录。将
.order(:id)添加到Category.all。现在,您依赖于数据库以您期望的顺序返回记录的事实,但您并没有要求以任何特定方式对它们进行排序。这是一场赌博,无法保证您的无序查询将继续按照您期望的顺序返回结果(尤其是当记录从磁盘插入和删除时,即使在其他表中也是如此)。 -
欢迎来到 Stackoverflow,我稍微清理了你的问题,正如@Chris 提到的那样,大部分问题并不是真正必要的。祝你好运。
标签: ruby-on-rails heroku