Rails 4 - 包含带参数的has_many

时间:2014-11-03 16:46:05

标签: ruby-on-rails ruby-on-rails-4 has-many

这是我的结构:

  • A group has_many Users。
  • 用户has_many任务。
  • 任务有一个due_date。

我想显示One Group(包括用户)及其各自的任务,按due_date过滤。

所以我的查询如下:

group.includes(:users => :tasks)

我想做这样的事情:

group.includes(:users => :tasks(min, max))

其中min和max是due_date的间隔。但是在包含内部传递参数不起作用。它抛出了语法错误。 我发现了一些关于lambda条件的东西,但我不知道这是Rails 3还是Rails 4的功能。它的基本记录非常糟糕。

1 个答案:

答案 0 :(得分:1)

这是我最后所做的:

time_range = Date.today.beginning_of_week..Date.today.end_of_week
group.includes(:users => :tasks).where(tasks: { due_date: time_range })

很简单,但很有效。