0

我正在使用 has_scope 宝石。

我想确定数据库中文章数组中最后 x 个项目的范围

像这样的东西:

scope :last_few_items, -> num { Article.last(num) }

所以在我的查询字符串中,我可以说 www.bla.com?last_few_items=2 返回数组的最后两项

但我看到的所有 has_scope 示例都使用以下语法:

scope :scope_name, -> vartopass { where(attribute_val: vartopass)}

其中'attribute_val'是我数据库中的所有属性......所以我不确定如何获得我想要的......除了创建一个新路线和一个定义@articles = Article.last(2)的新控制器或类似的东西

4

1 回答 1

0

这是从您的问题中提取的:

其中'attribute_val'是我数据库中的所有属性......所以我不确定如何获得我想要的......除了创建一个新路线和一个定义@articles = Article.last(2)的新控制器或类似的东西

你试过了吗?这实际上是正确的做法,Rails 原生实现last(n)

于 2014-07-20T20:16:02.230 回答