我在分页方法步骤中使用以下步骤:
编辑: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
有人可以帮助我。谢谢!
答案 0 :(得分: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)