5
我正在构建一个应用程序,该应用程序必须为多个雇主分配一个任务。Rails 4:带有has_many的复选框通过
我已经建立这些模型:
#assignment.rb
class Assignment < ActiveRecord::Base
has_many :employer_assignments
has_many :employers, :through => :employer_assignments
end
#employer.rb
class Employer < ActiveRecord::Base
has_many :employer_assignments
has_many :assignments, :through => :employer_assignments
end
#employer_assignment.rb
class EmployerAssignment < ActiveRecord::Base
belongs_to :employer
belongs_to :assignment
end
,现在我想的形式保存到employer_assignment表,但我用我的形式,下面的代码无法正常工作。
<div class="field">
<%= f.label :employer_ids %><br />
<%= collection_check_boxes(:assignment, :employer_ids, Employer.all, :id, :name) %>
</div>
我做了补充:employer_ids我分配控制从我尝试发送这将创建一个作业,但不建立在employer_assignment表中的记录形式。 当我通过控制台添加它们(Assignment.last.employers < < Employer.all )它一切正常。我确定我错过了一些东西,但无法弄清楚什么。
在此先感谢。
您是否找到解决方案。我有类似的问题。不保存到DB – Benjamin 2013-05-11 15:27:37
IIRC导轨4默认使用强参数,不支持阵列类型。所以你需要明确地定义'employer_ids'应该是一个数组,以便被允许通过。 – 2013-06-24 08:38:43