在我的应用程序中,我想维护ActiveRecord查询的可链接性。但是 我并不总是能够这样做。有时候我不得不使用select - 这会返回一个Array ,从而破坏链的可用性。Rails 3.1:如何基于方法的结果进行查询?
特别是,我有一个名为我的应用程序响应
反应有一个方法叫页面模型?它返回该页面数 - 的整数 - 用于 特定响应对象
def page?
... returns the page number ...
end
的方法 - 网页? - 需要在应用程序中查看一些其他模型才能执行。 它不能 - 换句话说 - 对在响应表中的数据仅仅依靠
现在,我有一个查询 - on_page(N) - 定义为响应模型类
def self.on_page(n)
select{ |m| m.page? == n }
end
问题是,如下上面的select返回一个数组而不是一个ActiveRecord :: Relation。 这意味着我不能做以下的(“with_scan”是另一个ActiveRecord的查询)
Response.on_page(3).with_scan
我可以得到上面通过更改查询做了才能工作。但那只是一个破解
是否有替代方法使用'on_page'查询中的选择?或者使用它的不同方式?任何可以维持连锁性的方式?
预先感谢您的帮助, 阿比纳夫