【发布时间】:2016-04-01 17:46:07
【问题描述】:
我有三个模型
class Service < ActiveRecord::Base
has_many :service_tasks
has_many :tasks, through: :service_tasks
accepts_nested_attributes_for :service_tasks, reject_if: :all_blank,allow_destroy: true
end
class Task < ActiveRecord::Base
has_many :service_tasks
has_many :services, through: :service_tasks
enum kind: [:before, :after, :whole]
end
class ServiceTask < ActiveRecord::Base
belongs_to :service
belongs_to :task
#attribute duration
end
而且我不明白如何通过选择任务和为每个 ServiceTask 选择不同的持续时间来制作向服务添加或删除 ServiceTask 的表单
我试过了
= form_for service, html: { class: "service-form" } do |form|
= render "shared/form_errors", object: @service
- @tasks.each do |task|
%tr.presence-times-form__day
%td.presence-times-form__day__weekday
.checkbox
= label_tag nil, class: "label" do
= check_box_tag :task_ids, task.id, @service.tasks.include?(task), :name => 'service[task_ids][]'
= label_tag :task_ids, task.name
但不知道如何为每个 ServiceTask 添加持续时间
【问题讨论】:
标签: ruby-on-rails forms has-many-through