1

私は次のモデルを持っています:

Trip -> has_many trip_members & belongs_to user
Trip -> has_many shares
Share -> belongs_to user

私の旅行モデルでは、このような関係を設定しています

has_many :shares, :conditions => proc { |user| {:user_id => user.id} }

共有に関連付けられたユーザーが常にいるようにします。trip.shares(user) の呼び出しでユーザー オブジェクトを渡してこれにアクセスしようとしていますが、うまくいかないようです。この proc への引数の受け渡しはどのように機能しますか?

また、これは条件を設定する正しい方法ですか? 生成されたメソッド (trip.shares<< など) をオーバーライドして、渡されたユーザーを引数として含めることを考えましたが、それは正しくありません。

4

1 に答える 1

0

条件は、関連付けられたオブジェクトを作成する動作を変更しません。データベースから照会された結果のみを制限します。

trip.shares.create(:user => user)
于 2012-10-18T11:38:24.900 に答える