将数组的结果只包含一个值

时间:2011-08-17 03:35:45

标签: ruby-on-rails

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个值,我必须继续使用这个方法吗?感谢。

1 个答案:

答案 0 :(得分:4)

您无需将结果存储在数组中。 find的第一个参数是您要选择:all记录还是仅:first。您只能将第一个结果存储在变量@photo中:

 @photo = @shop.photos.first

然后你可以只显示这张照片而不循环:

 <%= image_tag(@photo.data.url(:preview)) %>

希望这有帮助!