在模型中,我有如下关系:
has_many :commercial_evaluators, -> { where("evaluators.type = 'commercial'")}, through: :evaluators, source: :user
在视图中我使用如下简单形式:
= f.association :commercial_evaluators, collection: User.staff, label_method: :email
并按预期提交表格:
"commercial_evaluator_ids"=>["", "11", "13"]
但它只会像普通人那样通过没有条件的关联来创造。
我使用了cocoon gem,它允许嵌套字段,我知道它会起作用。但这种解决方案有没有更简单的方法呢?
答案 0 :(得分:2)
正如评论中所提到的那样,这些关联的范围在"阅读"记录,而不是"写"它们。
答案 1 :(得分:0)
使用此
将您的模型Evaluator扩展为CommercialEvaluator。
class CommercialEvaluator < Evaluator
end
然后在你希望关系使用的模型中。
has_many :commercial_evaluators, source: :user