【发布时间】:2014-01-05 21:52:56
【问题描述】:
我在 Rails 应用程序中有一个视图,我通过 Twilio API 向用户展示他们最近的 50 条录音。
虽然返回的 page_size 上限为 50 个结果,但 API 会将 URI 返回到返回列表的下一页、上一页、第一页和最后一页。 (https://www.twilio.com/docs/api/rest/response#response-formats-list-paging-information)
我无法理解如何链接到该表格底部的这些结果,这样当用户单击“下一页”时,页面会刷新并且表格会填充接下来的 50 条记录。
下面是表格:
<% @recordings.list({}).each do |recording| %>
<tr>
<td><%= recording.sid %></td>
<td><%= recording.duration %>sec</td>
<td><%= recording.from %></td>
<td><%= recording.to %></td>
</tr>
<% end %>
<%= link_to "next page", "?" %>
当我在 Rails 控制台中查看响应时,我可以在响应中看到“next_page_uri”,我只是不确定如何“链接”到它以填充表格。
编辑** 我通过他们的 API 资源管理器发出请求以显示输出(以 JSON 格式) - 我将请求的页面结果缩短为一个,以便于阅读。
{
"first_page_uri": "/2010-04-01/Accounts/ACb76fd7689d66a37b3defd366bc3caf12/Recordings.json?AccountSid=ACb76fd7689d66a37b3defd366bc3caf12&Page=0&CSRF=1388959981-bedd066b4f6119c70465377bb8bc012a72ea7b13be683a0819b065aa9db559c7&PageSize=1&Format=json",
"num_pages": 178,
"previous_page_uri": null,
"uri": "/2010-04-01/Accounts/ACb76fd7689d66a37b3defd366bc3caf12/Recordings.json?Format=json&AccountSid=ACb76fd7689d66a37b3defd366bc3caf12&PageSize=1&CSRF=1388959981-bedd066b4f6119c70465377bb8bc012a72ea7b13be683a0819b065aa9db559c7",
"page_size": 1,
"start": 0,
"recordings": [
{
"sid": "RE54146168533b781c0cbbaa9ada009d29",
"account_sid": "ACb76fd7689d66a37b3defd366bc3caf12",
"call_sid": "CAd5396192caf4c5f73a45c5026b7156a5",
"duration": "19",
"date_created": "Fri, 03 Jan 2014 15:32:36 +0000",
"api_version": "2010-04-01",
"date_updated": "Fri, 03 Jan 2014 15:32:36 +0000",
"uri": "/2010-04-01/Accounts/ACb76fd7689d66a37b3defd366bc3caf12/Recordings/RE54146168533b781c0cbbaa9ada009d29.json"
}
],
"next_page_uri": "/2010-04-01/Accounts/ACb76fd7689d66a37b3defd366bc3caf12/Recordings.json?AccountSid=ACb76fd7689d66a37b3defd366bc3caf12&Page=1&CSRF=1388959981-bedd066b4f6119c70465377bb8bc012a72ea7b13be683a0819b065aa9db559c7&PageSize=1&Format=json",
"end": 0,
"total": 178,
"last_page_uri": "/2010-04-01/Accounts/ACb76fd7689d66a37b3defd366bc3caf12/Recordings.json?AccountSid=ACb76fd7689d66a37b3defd366bc3caf12&Page=177&CSRF=1388959981-bedd066b4f6119c70465377bb8bc012a72ea7b13be683a0819b065aa9db559c7&PageSize=1&Format=json",
"page": 0
}
Twilio 控制器 -
@account_sid = @user.twilio_account_sid
@auth_token = @user.twilio_auth_token
# set up a client to talk to the Twilio REST API
@sub_account_client = Twilio::REST::Client.new(@account_sid, @auth_token)
@subaccount = @sub_account_client.account
@recordings = @subaccount.recordings
【问题讨论】:
标签: ruby-on-rails ruby pagination twilio