Ruby on rails 一个论点有很多条件吗
我有以下型号:Ruby on rails 一个论点有很多条件吗,ruby-on-rails,ruby-on-rails-3,conditional-statements,has-many,Ruby On Rails,Ruby On Rails 3,Conditional Statements,Has Many,我有以下型号: 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.share
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)调用中传入一个user对象来访问它,但这似乎不起作用。这个传递给proc的参数是如何工作的
另外,这是设置条件的正确方法吗?我想重写生成的方法(例如trip.shares条件不会改变创建关联对象的行为。它们只限制从数据库查询的结果
trip.shares.create(:user => user)
你确定吗?我认为在创建时条件也会出现。你提到的finder_sql的工作不是这样吗?我实际上希望能够在我的所有代码条件中包含此条件(不仅仅是专门针对find only).无论如何??我的理解是,您可以在不符合条件的关联中创建成员。我不认为这对创建有影响。它在rails指南中提到,在创建和生成操作期间也会使用哈希条件。当然,只有通过模型才能使用。我在这里迷路了!您确定不需要吗想说一个用户
有多个:trips,:through=>:shares
吗?@CodeGnome这有点不同。一个trip将由一个用户创建,但它将有多个trip\u成员,每个trip\u成员可以与n人共享该trip。trip成员和与之共享该trip的人不一样。我会尽量做到更清晰我的问题是