2017-03-23 4 views
0

を使用して条件を通じHAS_MANYに縛らレコードを作成する方法、私は以下のようにhas_manyの関係があります。モデルでsimple_form

= f.association :commercial_evaluators, collection: User.staff, label_method: :email 
:ビューで

has_many :commercial_evaluators, -> { where("evaluators.type = 'commercial'")}, through: :evaluators, source: :user 

を、私は以下のように簡単なフォームを使用しています

と予想されるように送信されたフォーム:

"commercial_evaluator_ids"=>["", "11", "13"] 

が、通常はassociatを通じて多くを持っているように、それだけで作成されます条件なしのイオン。

enter image description here

私は、ネストされたフィールドを可能に繭の宝石を使用していると私はそれが動作します知っています。しかし、このソリューションのための簡単な方法はありますか?

+0

あなたは、私はそれがあまりにも書き込み中に動作すると思っ@emaillenin関連 – emaillenin

+0

を節約しながら、関連を読んでいないながら、そこに使用されていた状態。うーん –

答えて

2

コメントに記載されているように、アソシエーション上のスコープは、レコードを「読み込む」ときに使用され、「書き込む」ときには使用されません。

0

使用この

はCommercialEvaluatorにモデルの評価基準を拡張します。

class CommercialEvaluator < Evaluator 
end 

次に、関係の使用を希望するモデルで。

has_many :commercial_evaluators, source: :user 
関連する問題