2012-12-14 34 views
0

我在控制檯中輸入這個檢索的記錄:will_paginate不工作與find

user.bookmarks.page(1) 

-> ok 

Bookmark.find([21, 23]).page(1) 

-> undefined method `page' for #<Array:0x5b2b3a0> 

使用PAGINATE方法也試過:Bookmark.find([21, 23]).paginate(page: "1"),具有相同的結果。

任何想法在這裏出了什麼問題?

+1

如果您使用find,這意味着您確切地知道您期望的是什麼,這就是爲什麼一個(不可鏈接的)數組被檢索到 – apneadiving

+0

不是'user.bookmarks'也是數組? ('user.bookmarks.class => Array') – mihai

回答

2

也許這:

Bookmark.paginate(:conditions => {:id => [21,23]}, :page => 1) 

或簡單化:

Bookmark.where(:id => [21,31]).page(1) 
+0

很酷,這對我有用,謝謝。我仍然困惑,爲什麼它不適用於查找。 – mihai

+0

@apneadiving在評論中回答說。試試這個,它可能會使它更清晰:Bookmark.find([21,23]).class和Bookmark.where(:id => [21,32])。類 –

+0

k,顯示一個'ActiveRecord :: Relation' ,但'user.bookmarks.class'顯示一個數組。哦,奇怪的東西,但我不會進一步深入這一點。 – mihai

1

如果您使用的軌道3或以上,will_paginate /陣列需要在配置顯式加載/ application.rb中進行分頁陣列(with Bookmark.find或Bookmark.all)

相關問題