0

我正在为此苦苦挣扎。使用 sinatra、ruby 和 Sequel,我尝试实现分页。

查询是:

@items = DB[:candidates].order(:id).paginate(1, 10)

哪个有效,它会产生所需数量的记录,并且 <%= will_paginate(@items) %> 链接会生成以下 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

有任何想法吗?感谢所有帮助。参数传递有问题吗?查询

@items = DB[:candidates].order(:id).paginate(page: params[:page], 10)

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

谢谢你。

4

1 回答 1

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)

它有效

于 2013-06-05T05:52:01.843 回答