Во-первых, я написал бы метод work_days
следующим образом:
def work_days
WorkDay.where(:user_id => user_id, :company_id => company_id)
end
Далее accepts_nested_attributes_for
действительно только для реальных ассоциаций, и поэтому я бы определил такой метод:
def work_days=(work_day_params)
# iterate over work_day_params and define new work day objects as required
end
(возможно, имя метода неверно)
В вашей форме у вас будет что-то вроде этого:
<% f.fields_for :work_days do |work_day| %>
<%= render :partial => "work_days/fields", :locals => { :f => work_day } %>
<% end %>
В этой части у вас будет все необходимое для рабочего дня. Как только эта форма отправлена, параметры должны быть отправлены на контроллер как params[:nest][:work_days]
, и с помощью метода work_days=
, определенного в вашей модели, он должен принять их и создать их так же, как accepts_nested_attributes_for
.