我正在努力解决这个问题。使用sinatra,ruby和Sequel,我试图实现分页。
查询是:
@items = DB[:candidates].order(:id).paginate(1, 10)
工作,它产生所需数量的记录和<%= will_paginate(@items)%> link生成以下HTML:
← Previous 1 2 3 4 5 Next →
当我点击浏览器地址栏中的数字或下一个链接时,我得到了,例如:
http://localhost:4567/candidate?page=3`
但页面没有变化!
红宝石代码是:
get '/candidate' do
@items = DB[:candidates].order(:id).paginate(1, 10)
erb :candidate
end
有什么想法吗?感谢所有的帮助。 param传递有问题吗?查询
@items = DB[:candidates].order(:id).paginate(page: params[:page], 10)
不起作用并产生错误消息。
谢谢。
答案 0 :(得分:1)
编写以下代码
@items = DB[:candidates].order(:id).paginate(:page=>params[:page] || 1, :per_page => 10)
和我写的视图文件 <%= will_paginate @items,:container => false%> 而不是
@items = DB[:candidates].order(:id).paginate(1, 10)
它有效