複数の雇用主に割り当てを割り当てる必要があるアプリケーションを構築しています。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_assignmentテーブル内のレコードを作成しませんフォームを送信しようとしているから、私の割り当てコントローラにemployer_idsを。 コンソール(Assignment.last.employers < < Employer.all )からそれらを追加すると、すべて正常に動作します。私は何かが不足していると確信していますが、何が分かりません。
ありがとうございます。
解決策を見つけましたか?私も同様の問題があります。 DBに保存しません – Benjamin
IIRCレール4は、デフォルトでは強力なパラメータを使用しますが、これは配列タイプをサポートしていません。したがって、 'employer_ids'が配列でなければならないことを明示的に定義する必要があります。 –