rails中子表的条件

Posted

技术标签:

【中文标题】rails中子表的条件【英文标题】:Condition on a sub table in rails 【发布时间】:2010-12-12 01:25:27 【问题描述】:

我对这个问题没有好的标题,但我的问题是为我在 rails 中的子表设置条件 我有一个名为“users”的模型和另一个名为“hours”的模型,hours 设置为“belongs_to :users”,users-model 有“has_many :hours”

但我的问题是当我尝试获取用户时,只是本月增加的时间。我希望这仅在 Index 操作中发生。

如何为我的子表设置条件?

【问题讨论】:

【参考方案1】:
class SomeController
  def index
    Hours.all(:include => [:user], :conditions => "added_this_month is null")
  end
end

【讨论】:

几乎是我想要的,但是否也可以返回没有工作时间的用户? (向左加入?) 解决方案:***.com/questions/1509692/… 哦,好吧……反正刚刚编辑过。因为我注意到您对小时数而不是用户数更感兴趣。【参考方案2】:

has_many可以使用:conditions

has_many :hours, :conditions => ...

【讨论】:

请在您的答案中添加一些细节。虽然它确实在技术上回答了这个问题,但它并没有提供一个很好的例子来说明如何实施该解决方案。

以上是关于rails中子表的条件的主要内容,如果未能解决你的问题,请参考以下文章

[ jquery 位置选择器 :first-child :last-child ] 强化说明:选取属于其父元素和所有兄弟元素中子元素集合中处于第一个(最后一个)位置上符合条件的元素

Rails - 验证:如果一个条件为真

Rails 模型中的条件回调?

Rails - 条件 html 属性

Ruby/Rails - 为啥自我关联条件取决于创建时间?

Rails ActiveRecord 条件