【发布时间】:2012-08-09 16:11:43
【问题描述】:
在我的 Rails 应用程序中,我想将一个表与另一个表的命名范围连接起来。有没有一种方法可以做到这一点,而不必为我的 join 语句重写纯 SQL 中的命名范围?
基本上,有没有办法做这样的事情?
class Foo < ActiveRecord::Base
scope :updated_today, where('updated_at > ?', DateTime.now.prev_day)
end
Bar.joins(Foo.updated_today)
Bar.joins 生成以下 SQL 的地方:
SELECT * FROM bars
INNER JOIN
(SELECT * FROM foos WHERE updated_at > 2012-8-9) AS t0
ON bar_id = bars.id
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2