2016-06-10 2 views
2

레일에서 시작하여 뷰에서 모델로 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") } 
+0

글쎄, 좋은 움직임이야. 그렇지. 추신 아니면 그 과정과 관련하여 실제 질문이 있습니까? – potashin

답변

관련 문제