在我的应用中,我有Pillar
和Blog
的模型。每个blog
belongs_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” DESC LIMIT $ 1 [[“” LIMIT“,1]] =>#巡回演出 房子有点像第一次射击……”,user_id:2,created_at: “ 2018-06-03 21:00:56”,更新日期:“ 2018-06-03 21:00:56”, image_file_name:“ 53600574_l_(Cropped).jpeg”,image_content_type: “ image / jpeg”,image_file_size:569841,image_updated_at:“ 2018-06-03 21:00:56“,子弹:“自家看房的六键”,link_text:“下载 可打印的“家庭旅游备忘单”,link_filename: “ app / assets / images / house_tour_notes.pdf”,支柱编号:3>
当我转到pillars/3
时,博客的蓝色条纹(if @blogs.count
的内部)没有出现。
有人能弄清楚localhost
和Heroku之间发生了什么事吗?
答案 0 :(得分:1)
您注意到每个Blog都属于一个支柱。您是否确定在Blog模型中添加has_many :pillars
(或has_one :pillar
,具体取决于您的需求)?我看到了这样一种情况,您明确地在开发中设置了关系(通过种子或其他方式),而在生产中不起作用。