迭代Rails模板中的对象

ubu*_*nix 1 ruby templates ruby-on-rails erb

控制器:

  def show
    @recipe = Recipe.find(params[:id])
    @ingredients = @recipe.ingredients
    @steps = @recipe.steps
  end
Run Code Online (Sandbox Code Playgroud)

模板:

  <%= @steps.each do |step| %>
    <li>
      <%= step.sequence %>
      <%= step.description %>
    </li>
  <% end %>
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

我究竟做错了什么?

saw*_*awa 6

你正在做<%= @steps.each do |step| %>...<% end %>,它打印评估的结果each,即接收者@steps.

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