2010-10-07 47 views
0

我在rails 3.0.0.rc中使用了will_paginate(3.0.pre2)。第一頁正常,但是當我轉到第2頁時,它沒有返回任何內容,因爲第2頁的查詢沒有被will_paginate正確設置。paginate_by_sql,下一頁錯誤

控制器:

page = params['page'].blank? ? 1 : params['page'] 
@posts = Post.paginate_by_sql (['select * from Foo_Table where ids = ?', params[:ids]], :page=>page, :per_page=>50) 
@pag_params = {:ids=>params[:ids]} 

檢視:

<%= will_paginate @posts, :params=>@pag_params %> 

連結至第2頁是:

http://localhost:3000/posts/search?page=2&ids=1 

日誌顯示where子句顯示了不正確的(IDS = '搜索')當它應該是(ids ='1')

SELECT * FROM `Foo_Table` WHERE (ids = 'search') 

我錯過了什麼,以便能夠糾正第2頁的查詢?

回答

0

談過的will_paginate的開發商和發現,攻擊這一點的最好方法是使用scoped_by_column_name(... ... COLUMN_VALUE)。分頁(... ...條件)

希望這有助於某人。 :)