0

我试图弄清楚在输出到视图时如何为我的类的每个实例呈现相同的视图

这是我的例子

我有一个应用程序,您可以在其中记录自己的食谱,并在名为“我的食谱”的区域查看输入的所有食谱。到目前为止,我可以以我希望呈现的样式呈现一个实例的视图

 <div class="container">
  <div class="row">
   <ul class="thumbnails">
    <li class="span4">
     <div class="thumbnail">
     <% @recipes.each do |r| %>
      <%= image_tag r.avatar.url(:medium)%>
      <h3 class="center"><a href="#"><%= r.dish_name %></a></h3>
      <p>Description of dish</p>
   </div>
  </li>
  <% end %>
  </ul>    
 </div>
</div>

在我的控制器中,我有这个

  def my_recipes

 @recipes = current_user.recipes if current_user.recipes #show recipes if the user has  any recipes

 end

我如何让每个实例在同一个视图中呈现,即如我在上面指定的/当然这很简单,但今晚无法解决这个问题

谢谢

4

2 回答 2

1

听起来你在谈论部分。请参阅视图渲染指南的这一部分。具体来说,第 3.4.5 节,“渲染集合”。如果您按照 Rails 期望的方式命名文件,这可能就像<%= render @recipes %>.

于 2012-11-04T22:27:31.293 回答
1

这是否更像是首先在视图中获取正确格式的情况?

例如,如果您想要集合中每个项目的缩略图。

<li class="span4">
 <div class="thumbnail">
 <% @recipes.each do |r| %>
  <%= image_tag r.avatar.url(:medium)%>
  <h3 class="center"><a href="#"><%= r.dish_name %></a></h3>
  <p>Description of dish</p>

如果你这样做可能会更好看:

 <% @recipes.each do |r| %>
   <li class="span4">
     <div class="thumbnail">
       <%= image_tag r.avatar.url(:medium)%>
       <h3 class="center"><a href="#"><%= r.dish_name %></a></h3>
       <p>Description of dish</p>
     </div>
   </li>
  <% end %>

意味着您为集合中的每个列出的项目获得一个“li”元素。

然后也许在那之后,如果需要,将 html 放入部分

于 2012-11-05T08:31:43.370 回答