我折腾了两天了?怎么回事阿?
@username = User.paginate(:all,
:page => params[:page], :per_page=>3,
:conditions => ["name like ?", "%#{params[:q]}%"])
显示页面里面:
<%= will_paginate @username %>
为什么我点击下页,就是空白阿?
或者是下页就是表里的全部数据,而不是我查询的数据?
为什么呢??谁能帮我?
我用will_paginate 或者 paginate都是一样,第一页好的,后面全是数据的页数,不是我查询的。
别忘了你的查询条件参数要加到 pagination link 里。
[code="ruby"]
<%= will_paginate @username, :params => {:q => params[:q]} %>
[/code]
另外,虽然不是错误,但这里你的变量名 @username 并不合适,用 @xxx_users 阅读你代码的人就不会觉得糊涂了。
这里有视频
http://railscasts.com/episodes/51
[code="java"]@username = User.paginate(:all,
:page => params[:page], :per_page=>3,
:conditions => ["name like ?", "%#{params[:q]}%"]) [/code]
你在页面上少传了查询条件的参数,所以导致出现了下页数据为空或者显示全部数据.
不过这样做感觉十分不方便,而且代码不怎么好看
你可以看看这篇文章,作者建议将查询条件放在session中,这未尝不是一个好的解决办法.
http://www.iteye.com/topic/126807