在视图中渲染实例变量-rails 3

时间:2012-11-04 20:55:14

标签: css ruby-on-rails-3

我想弄清楚在输出到视图时如何为我的类的每个实例渲染相同的视图

继承人我的榜样

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

 <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

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

由于

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

这首先是在视图中获取格式正确吗?

E.g。如果你想要集合中每个项目的缩略图。

<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抛入部分