Rails 问题:@blogs.count 在本地显示,但不在 Heroku 上



在我的应用程序上,我有PillarBlog的模型。 每个blogbelongs_to一个pillar。 我的pillars#show中有以下逻辑,以便我可以在该支柱的show页面上显示属于某个支柱的博客:

def show
@blogs = Blog.where(pillars_id: @pillar.id).limit(6)
end

然后,在show.html.erb页面上,我有这个:

<% if @blogs.count != 0 %>
<div class="row blue-stripe">
<div class="container">
<h2 class="text-center">Blogs about <%= @pillar.name %></h2>
<% @blogs.each do |blog| %>
<%= link_to blog_path(blog) do %>
<div class="card blog-card col-xs-6 col-md-3">
<%= image_tag blog.image.url, alt: blog.title %>
<h3><%= blog.title %></h3>
<p><%= blog.teaser %></p>
<p><em><%= link_to "Read More", blog_path(blog) %>...</em></p>
</div> <!-- card -->
<% end %> <!-- link -->
<% end %> <!-- blogs each -->
</div> <!-- container -->
</div> <!-- row -->
<% end %>

这在本地运行良好,但是当我部署到 Heroku 时,整个部分都没有显示。

例如,我通过运行heroku run rails c确认,实际上存在属于我正在检查的支柱的博客。 例如,一个博客的记录如下所示:

博客加载(2.9毫秒( 选择"博客"。 从"博客"排序方式 "博客"。id" 描述限制 $1 [["限制", 1]] => #Touring a 房子有点像在冷杉上...", user_id: 2, created_at: "2018-06-03 21:00:56", updated_at: "2018-06-03 21:00:56", image_file_name:"53600574_l_(裁剪(.jpeg",image_content_type: "图像/JPEG", image_file_size: 569841, image_updated_at: "2018-06-03 21:00:56",蛞蝓:"6 键看房子",link_text:"下载一个 家庭旅游笔记的可打印表",link_filename: "应用/资产/图像/house_tour_notes.pdf",pillars_id:3>

然而,当我去pillars/3博客的蓝色条纹(if @blogs.count的内部(没有出现。

谁能弄清楚localhost和Heroku之间发生了什么来制造这个故障?

您注意到每个博客belongs_to一个支柱。您是否确保在博客模型中添加has_many :pillars(或has_one :pillar,具体取决于您的需求(?我可以看到一种情况,即您在开发中显式设置关系(通过种子或其他方式(,这在生产中不起作用。

最新更新