【发布时间】:2014-08-22 16:27:03
【问题描述】:
我有 4 个模型
class Contract < ActiveRecord::Base
has_many :addendums
accepts_nested_attributes_for :addendums
end
class Addendum < ActiveRecord::Base
belongs_to :contract
has_many :addendum_services
has_many :services, through: :addendum_services
end
class AddendumService < ActiveRecord::Base
belongs_to :addendum
belongs_to :service
end
class Service < ActiveRecord::Base
has_many :addendum_services
end
我正在使用嵌套属性通过合同的表单构建附录,它适用于所有附录的属性,但我还希望用户使用check_box_tag 选择要使用的服务列表。由于Addendum 没有addendum_services 的属性,我应该在Contract 的强参数中添加什么才能接受服务列表?另外,如何在表单上生成服务列表?我目前正在使用这个:
<%= form_for(@contract) do |f| %>
...
<%= f.fields_for :addendums do |addendums_form|%>
<%= addendums_form.label 'Services'%><br>
<% for serv in Service.all %>
<%= check_box_tag "service[]", serv, @addendum.services.include?(serv) %>
<%= serv %><br>
<% end %>
但它不起作用......
【问题讨论】:
标签: ruby-on-rails checkbox nested-attributes has-many-through