Условные обозначения Rails 3 ActiveRecord включают?

Я знаю, что это можно сделать:

Article.where("published_at <= ?", Time.now).includes(:comments)

Но что, если я хочу получать комментарии только за последний месяц?

Имеет ли оператор .includes оператор условия?

Ответы

Ответ 1

Article.includes(:comments).where("articles.published_at <= ? and comments.created_at >= ?", Time.now, Time.now - 1.month)

EDIT:

Article.joins(:comments).where("articles.published_at <= ? and comments.created_at >= ?", Time.now, Time.now - 1.month)

Ответ 2

В Rails4 это должно быть: Article.includes(:comments).where("articles.published_at <= ? and comments.created_at >= ?", Time.now, Time.now - 1.month).references(:comments)

Источник