【发布时间】:2012-10-08 20:22:48
【问题描述】:
我有以下型号:
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
【问题讨论】:
-
您确定不想说用户
has_many :trips, :through => :shares吗? -
@CodeGnome 有点不同。一个行程将由一个用户创建,但它会有很多行程成员,每个行程成员可以与 n 个人共享行程。旅行成员和此次旅行的共享对象不同。我会尽量让我的问题更清楚
标签: ruby-on-rails ruby-on-rails-3 conditional-statements has-many