【问题标题】:Rails 4 - includes has_many with argumentRails 4 - 包含带参数的 has_many
【发布时间】:2014-11-05 22:01:33
【问题描述】:

这是我的结构:

  • 一个组有_many用户。
  • 一个用户有_许多任务。
  • 任务有一个截止日期。

我想显示一个组,包括用户,以及他们各自的任务,按到期日期过滤。

所以我的查询是这样的:

group.includes(:users => :tasks)

我想做这样的事情:

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

其中 min 和 max 是到期日期的间隔。但是在包含中传递参数不起作用。它给我一个语法错误。 我发现了一些关于 lambda 条件的东西,但我不知道这是 Rails 3 还是 Rails 4 功能。它基本上记录得很糟糕。

【问题讨论】:

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


    【解决方案1】:

    这是我最后所做的:

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

    很简单,但是很有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      • 2011-05-15
      相关资源
      最近更新 更多