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

时间:2018-07-07 03:02:11

标签: ruby-on-rails heroku

在我的应用中,我有PillarBlog的模型。每个blog belongs_topillar。我在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之间发生了什么事吗?

1 个答案:

答案 0 :(得分:1)

您注意到每个Blog都属于一个支柱。您是否确定在Blog模型中添加has_many :pillars(或has_one :pillar,具体取决于您的需求)?我看到了这样一种情况,您明确地在开发中设置了关系(通过种子或其他方式),而在生产中不起作用。