我正在使用带有rails 3.0.0.rc的will_paginate(3.0.pre2)。第一页很好,但是当我转到第2页时,它没有返回任何内容,因为will_paginate没有正确设置第2页的查询。
控制器:
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 ='search')应该是(ids ='1')
SELECT * FROM `Foo_Table` WHERE (ids = 'search')
我缺少什么,以便可以更正第2页的查询?
答案 0 :(得分:0)
与will_paginate的开发人员交谈并发现攻击它的最佳方法是使用scoped_by_column_name(... column_value ...)。paginate(... conditions ...)
希望这有助于某人。 :)