0
레일스 개발을 처음 접했고 조인과 병합에 관한 문제가 발생했습니다.레일 : where 절로 결합하기
강사 및 세션의 두 가지 모델이 있습니다. 앞으로 세션이있는 모든 강사를 표시하고 싶습니다 (즉, 강사가 아닌 강사는 표시하지 않음). 여기에 내가 가진 무엇, 그러나 (이 이상 1 개 앞으로 여러 번에 세션과 강사를 보여줍니다) 매우 옳지 않아 : 다음
class Session < ActiveRecord::Base
belongs_to :instructor
def self.is_current
where(start_time: Time.now.beginning_of_day..(Time.now.beginning_of_day + 1.year))
end
end
class Instructor < ActiveRecord::Base
has_many :sessions
def self.with_current_sessions
joins(:sessions).merge(Session.is_current)
end
end
class InstructorsController < ApplicationController
def index
@instructors = Instructor.with_current_sessions
end
end
그리고 강사 인덱스보기 :
<% @instructors.each do |inst| %>
<h3><%= inst.full_name %></h3>
<% if inst.sessions.size > 0 %><p>Teaching <%= pluralize(inst.sessions.size, 'workshop') %>:</p>
<ul class="standard">
<% inst.sessions.each do |sess| %>
<li><%= link_to sess.name, sess %></li>
<% end %>
</ul>
<% end %>
<% end %>
그래서 정확히 작동하지 않는 것은 무엇입니까? 또한 Session은 많은 레일 및 기타 키워드와 연관 될 수 있으므로 모델에 대한 좋은 이름이 아니라고 생각합니다. – PericlesTheo
두 개 이상의 세션이있는 강사가 두 번 이상 나타납니다. 모든 세션은 향후 세션뿐만 아니라 목록에 표시됩니다. – ergdegdeg