我有两个型号,Habit和HabitLog。
为简单起见,Habit拥有一个名称并具有许多HabitLog。 HabitLog保存日期和状态。
我想为特定日期创建一个视图,并列出具有给定日期状态的所有习惯。
要获取记录,但保持关联,我在我的控制器中使用了此查询:
def show
@habit_logs = HabitLog.where(log_date: '2015-07-15').includes(:habit).order("habits.position")
end
然后在我看来,我有
<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| %>
Imp注意:
<% %> # Executes the code.
<%= %> # Prints the output.