为什么我通过记录迭代将整个对象转储添加到一个奇怪的地方?

Why is my iteration through records adding whole object dump in a strange place?

我有两个模型,Habit 和 HabitLog。

为了简单起见,Habit 有一个名字并且有很多 HabitLog。 HabitLog 包含日期和状态。

我想为特定日期创建一个视图,并列出所有具有给定日期状态的习惯。

为了获取记录,但保持关联,我在我的控制器中使用了这个查询:

habit_log_controller.rb

def show
  @habit_logs = HabitLog.where(log_date: '2015-07-15').includes(:habit).order("habits.position")
end

那么在我看来我有

show.html.erb

<ul>
  <%= @habit_logs.each do |habit_log| %>
    <li>
      <%= habit_log.habit.name + " " + habit_log.status %>
    </li>
  <% end %>
</ul>

它有效,意思是列出给定日期的所有习惯名称和状态,但它将整个数组粘贴到一个奇怪的地方,在 li 标签之后,但在 ul 内。

页面来源

<ul>

  <li>
     Waga 87
  </li>

  <li>
     Higiena 1
  </li>

  <li>
     Siłownia 0
  </li>
  [#&lt;HabitLog id: 1, log_date: &quot;2015-07-15&quot;, status: &quot;87&quot;, habit_id: 1, created_at: &quot;2015-07-15 11:37:21&quot;, updated_at: &quot;2015-07-15 11:37:21&quot;&gt;, #&lt;HabitLog id: 2, log_date: &quot;2015-07-15&quot;, status: &quot;1&quot;, habit_id: 2, created_at: &quot;2015-07-15 11:37:28&quot;, updated_at: &quot;2015-07-15 11:37:28&quot;&gt;, #&lt;HabitLog id: 3, log_date: &quot;2015-07-15&quot;, status: &quot;0&quot;, habit_id: 3, created_at: &quot;2015-07-15 11:37:30&quot;, updated_at: &quot;2015-07-15 11:37:30&quot;&gt;]

</ul>

我认为这与我使用 .includes(:habit) 有关,但我不知道如何处理它。

问题出在这一行

<%= @habit_logs.each do |habit_log| %>

应该是

<% @habit_logs.each do |habit_log| %>

小鬼注:

<% %> # Executes the code.

<%= %> # Prints the output.