只更改表格中的第一条记录(通过视图)而不更改控制器?

时间:2010-06-07 04:10:48

标签: ruby-on-rails ruby

我试图只获取表格中的第一条记录进行显示。我正在创建一个网站,用户可以上传多个图像并附加到帖子,但我只想显示每个帖子的第一个图像视图。

进一步澄清posts belong_to projects。因此,当您在项目显示页面上时,您会看到多个帖子。在此视图中,我只想显示每个帖子的第一个图像。有没有办法在视图中执行此操作而不影响控制器(稍后我想允许用户通过添加灯箱浏览所有照片)。这是我的/views/posts/_post.html.erb代码:

<% div_for post do %>

    <% post.photos.each do | photo | %>

        <%= image_tag(photo.data.url(:large), :alt => '') %>
        <%= photo.description %>
    <% end unless post.photos.first.new_record? rescue nil %>

        <%= link_to h(post.link_title), post.link %>
        <%=  h(post.description) %>

        <%= link_to 'Manage this post', edit_post_path(post) %> 

<% end %>

更新: 我正在使用照片模型将多张照片附加到每个帖子并在此处使用回形针。

1 个答案:

答案 0 :(得分:0)

其中任何一个应该有用吗?

post.photos.find(:first)

or 

post.photos.first

编辑:我认为修改后的代码会是这样的?

<% div_for post do %>
    <% photo = post.photos.first %>

    <%= image_tag(photo.data.url(:large), :alt => '') %>
    <%= photo.description %>

    <%= link_to h(post.link_title), post.link %>
    <%=  h(post.description) %>

    <%= link_to 'Manage this post', edit_post_path(post) %> 
<% end %>