为什么我通过记录迭代将整个对象转储添加到一个奇怪的地方?
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>
[#<HabitLog id: 1, log_date: "2015-07-15", status: "87", habit_id: 1, created_at: "2015-07-15 11:37:21", updated_at: "2015-07-15 11:37:21">, #<HabitLog id: 2, log_date: "2015-07-15", status: "1", habit_id: 2, created_at: "2015-07-15 11:37:28", updated_at: "2015-07-15 11:37:28">, #<HabitLog id: 3, log_date: "2015-07-15", status: "0", habit_id: 3, created_at: "2015-07-15 11:37:30", updated_at: "2015-07-15 11:37:30">]
</ul>
我认为这与我使用 .includes(:habit) 有关,但我不知道如何处理它。
问题出在这一行
<%= @habit_logs.each do |habit_log| %>
应该是
<% @habit_logs.each do |habit_log| %>
小鬼注:
<% %> # Executes the code.
<%= %> # Prints the output.
我有两个模型,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>
[#<HabitLog id: 1, log_date: "2015-07-15", status: "87", habit_id: 1, created_at: "2015-07-15 11:37:21", updated_at: "2015-07-15 11:37:21">, #<HabitLog id: 2, log_date: "2015-07-15", status: "1", habit_id: 2, created_at: "2015-07-15 11:37:28", updated_at: "2015-07-15 11:37:28">, #<HabitLog id: 3, log_date: "2015-07-15", status: "0", habit_id: 3, created_at: "2015-07-15 11:37:30", updated_at: "2015-07-15 11:37:30">]
</ul>
我认为这与我使用 .includes(:habit) 有关,但我不知道如何处理它。
问题出在这一行
<%= @habit_logs.each do |habit_log| %>
应该是
<% @habit_logs.each do |habit_log| %>
小鬼注:
<% %> # Executes the code.
<%= %> # Prints the output.