迭代Rails模板中的对象

时间:2015-12-22 14:47:25

标签: ruby-on-rails ruby templates erb

控制器:

  def show
    @recipe = Recipe.find(params[:id])
    @ingredients = @recipe.ingredients
    @steps = @recipe.steps
  end

模板:

  <%= @steps.each do |step| %>
    <li>
      <%= step.sequence %>
      <%= step.description %>
    </li>
  <% end %>

传递给我的模板的对象数组正在迭代,然后在结尾处显示实际的字段数组(在图片的步骤5下面)。我想显示每个对象的属性,而不是实际的对象列表。

enter image description here

我做错了什么?

1 个答案:

答案 0 :(得分:6)

您正在执行<%= @steps.each do |step| %>...<% end %>,其中会打印评估each的结果,即接收方@steps

要避免打印,请将其更改为<% @steps.each do |step| %>...<% end %>