두 가지 모델, Habit 및 HabitLog가 있습니다.
단순성을 위해 Habit은 이름을 가지고 있으며 많은 HabitLogs를 가지고 있습니다. 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>
<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.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다