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 に答える