0

我在分页方法步骤中使用以下步骤:

编辑:nodes2 是一个数组。

nodes = nodes2.take(per_page).offset((page_number.to_i - 1) * per_page)
@length = (nodes2.count/per_page).ceil

我收到以下错误:

undefined method 'offset' for #<Array:0x00000005905128>

基本上我正在使用以下步骤,当我从 .leaves 方法中获取对象时它们工作正常,但不确定如何处理数组

nodes = inode.leaves.limit(per_page).offset((page_number.to_i - 1) * per_page)
@length = (inode.leaves.count/per_page).ceil

有人可以帮我吗。谢谢!

4

1 回答 1

2

take是一种方法Array。当你运行它nodes2(我假设它是一个ActiveRecord::Relation对象)时,它相当于:

nodes = nodes2.to_a.take(per_page)...

因此,正因为如此,offset正在一个 Array 对象上运行。您可以尝试将take(...)其作为最后一个方法调用,该方法offset仍在针对 ActiveRecord 运行:

nodes = nodes2.offset((page_number.to_i - 1) * per_page).take(per_page)
于 2013-08-06T00:56:02.453 回答