has_many through
モデルで条件パラメーターを使用しようとしていますが、小さな問題があります。コードサンプルから始めましょう:
user.rb
class User < ActiveRecord::Base
has_may :user_items
has_many :look_ups, through: :user_items, conditions: { sType: 'SKINTONE' }
end
user_item.rb
class UserItem < ActiveRecord::Base
belongs_to :user
belongs_to :look_up
end
そして今、問題:look_up_ids
ヘルパーを使用して関連するルックアップを保存する必要がありますが、
User.first.look_up_ids = [1,2,3]
リレーションsType
で定義したフィールドを保存していません(これは です)。nilとして保存します。興味深いことに、 を使用すると正常に動作し、 に設定されます。has_many through
where sType = 'SKINTONE'
User.first.look_ups.build
sType
SKINCOND
関連条件に基づいてそのフィールドを自動検出するようにレールのアクティブレコードに指示する組み込みの方法はありますか、それとも手動で行う必要がありますか?