Rails 2.3.8。
我在我的控制器中有这个,我只限制了1个结果:
@photos = @shop.photos.find(:all, :limit => 1)
在我看来,通常我只是做一个for循环来显示结果:
<% @photos.each do |photo| %>
<%= image_tag(photo.data.url(:preview)) %>
<% end %>
现在上面是针对数组中的多个值。如果我只有1个值,我必须继续使用这个方法吗?感谢。
答案 0 :(得分:4)
您无需将结果存储在数组中。 find
的第一个参数是您要选择:all
记录还是仅:first
。您只能将第一个结果存储在变量@photo
中:
@photo = @shop.photos.first
然后你可以只显示这张照片而不循环:
<%= image_tag(@photo.data.url(:preview)) %>
希望这有帮助!