轨道上的红宝石显示许多图像中的一个图像

时间:2014-02-06 19:59:37

标签: ruby-on-rails

我是以下PostAttachment型号:

class Post < ActiveRecord::Base
  has_many :attachments, dependent: :destroy    
end

class Attachment < ActiveRecord::Base
  belongs_to :post
end

在我的页面中,我只能这样做:

<% post.attachments.each do |p| %>
  <%= image_tag p.image_url.to_s %>
<% end %>

这将显示帖子的每个图像(每个附件)。

如果我只想显示帖子的第一张图片(当attachment.id为最小值时)。我该怎么办?

2 个答案:

答案 0 :(得分:1)

这将显示帖子的第一个附件:

<%= image_tag post.attachments.first.image_url.to_s unless post.attachments.blank? %>

答案 1 :(得分:1)

如果您只想显示帖子的第一个附件,您可以这样做:

<%= image_tag post.attachments.first.try(:image_url).to_s %>

而不是遍历所有附件。