Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 一个论点有很多条件吗_Ruby On Rails_Ruby On Rails 3_Conditional Statements_Has Many - Fatal编程技术网

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的人不一样。我会尽量做到更清晰我的问题是