레일에서 시작하여 뷰에서 모델로 ORM 파트를 이동하고 싶습니다.레일 4 : 이동중인 활성 레코드가 뷰에서 모델로 콜렉션을 생성했습니다.
어떻게 만드시겠습니까?
예 :
<%= f.collection_check_boxes :instructor_ids, Instructor.joins(:events).where(events: { :start_time => Date.today.beginning_of_week..Date.today.end_of_week }).group("instructor_id").having("count(instructor_id) < 4"), :id, :name do |ib| %>
<%= ib.label(class: "checkbox-inline input_checkbox") {ib.check_box(class: "checkbox") + ib.text } %>
<% end %>
감사합니다.
루이즈,
나를 스코프로 안내해 주셔서 감사합니다. 나는 이것을 다음과 같이 풀었다.
app/views/events/_form.html.erb
<%= f.collection_check_boxes :instructor_ids, Event.instructor_week_limit, :id, :name do |ib| %>
<%= ib.label(class: "checkbox-inline input_checkbox") {ib.check_box(class: "checkbox") + ib.text } %>
<% end %>
응용 프로그램/모델/event.rb
scope :instructors_this_week, -> { Instructor.joins(:events).where(events: { :start_time => Date.today.beginning_of_week..Date.today.end_of_week }) }
scope :instructor_week_limit, -> { instructors_this_week.group("instructor_id").having("count(instructor_id) < 4") }
글쎄, 좋은 움직임이야. 그렇지. 추신 아니면 그 과정과 관련하여 실제 질문이 있습니까? – potashin