将_paginate不使用SEQUEL进行分页

时间:2013-06-05 02:54:15

标签: ruby will-paginate sequel

我正在努力解决这个问题。使用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)

不起作用并产生错误消息。

谢谢。

1 个答案:

答案 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)

它有效