我有以下型号:
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(用户)的过程中传入一个用户对象来访问它,但这似乎不起作用。这个传递参数如何工作?
另外,这是设置条件的正确方法吗?我想过重写生成的方法(例如trip.shares<< etc)以包含作为参数传入的用户,但这感觉不对。
答案 0 :(得分:0)
条件不会更改创建关联对象的行为。它们仅限制从数据库中查询的结果。
trip.shares.create(:user => user)