Ruby 如何使用will_paginate分页json结果
我正在使用Sinatra、Ruby和Postgres。我想翻页(目前正在尝试will_paginate,但欢迎其他方法建议)结果 ruby代码是:Ruby 如何使用will_paginate分页json结果,ruby,json,pagination,cursor,sinatra,Ruby,Json,Pagination,Cursor,Sinatra,我正在使用Sinatra、Ruby和Postgres。我想翻页(目前正在尝试will_paginate,但欢迎其他方法建议)结果 ruby代码是: get '/inplay' do results = DB["select distinct(concat(c.first,' ', c.last)) as candidate, c.id as id, s.shortname as shortname from candidates c, shortmembers sm, shortlists
get '/inplay' do
results = DB["select distinct(concat(c.first,' ', c.last)) as candidate, c.id as id, s.shortname as shortname from candidates c, shortmembers sm, shortlists s where sm.short_id = s.list_id and c.id = sm.candidate_id"].map do |row|
{ :id => row[:id], :candidate => row[:candidate], :shortname=>row[:shortname] }
end
halt 200, results.to_json
end
而jquery在视图页面中是:
$(document).ready(function() {
alert("script");
$('#result').html('');
$.getJSON("/inplay", function(data) {
$.each( data, function( key, value ) {
$('#result').append('<tr><td style=\"background:#E3F6CE;\"><input type=\"checkbox\" id=\"case\" class=\"case\" value=' + this["id"] + '></td><td><a href=\"/edit/' + this["id"] + '\">' + this["candidate"] + '</a></td><td>' + this["shortname"] + '</td></tr>');
});
});
});
在ruby代码段中添加
.paginate(page.to_i, per_page.to_i)
它不再工作,当然也不会翻页
在我看来,我已经尝试过:
<%= will_paginate results %>
在ruby DB调用之后,我还包括了DB.extension(:pagination)
问题是:
我被卡住了。所有人都欣然接受了帮助 在无尽的卷轴上有一幅图画。Railscasts确实值得订阅。谢谢,但我不认为这是我想要的,也是rails而不是Sinatra。所描述的技术适用于任何框架和语言,您可以轻松地将其应用于Sinatra。谢谢,问题是如何。。。?此外,我想首先,至少,看看我是否能使我的方法工作,并了解它的错误。你在使用什么ORM?我知道paginate支持的东西是有限的(而且我相当确定直接DB交互不受支持)。您可以尝试在SELECT语句中添加LIMIT和OFFSET来开始。
<%= will_paginate results %>