我使用bootstrap-datepicker.js(http://www.eyecon.ro/bootstrap-datepicker/)在rails视图中设置表的日期范围。防止从参数中剥离日期选择器值
calls.html.erb
<form class="form-horizontal daterange">
<input type="text" data-date-format="yyyymmdd" id="start-date" name="start">
<span class="add-on">-</span>
<input type="text" data-date-format="yyyymmdd" id="end-date" name="end">
<button type="submit" class="btn submit-date">Submit</button>
</form>
<script type="text/javascript">
$(document).ready(function() {
$('#start-date').datepicker({
format: 'yyyy-mm-dd'
});
$('#end-date').datepicker({
format: 'yyyy-mm-dd'
});
});
</script>
它通过PARAMS [:开始],而params [:结束]到我用来设置Twilio API调用的日期范围的URL。
Ex。/twilio /通话/开始= 2013-03-01 &末= 2014年1月6日
自从我创建了以下路线进行分页API调用:
的routes.rb
match 'twilio/calls' => 'twilio#calls', :as => :twilio_page
match 'twilio/calls/:page_id' => 'twilio#calls', :as => :twilio_page
每当我前进到结果的下一页时,它会去掉日期范围值。
如何保存:start /:end参数?
twilio_controller.rb 更新 - 增加了开始/结束数据
if params[:start].nil?
@start_date = DateTime.parse((Date.today - 7).to_s).strftime("%Y-%m-%d")
@end_date = DateTime.parse((Date.today - 1).to_s).strftime("%Y-%m-%d")
else
@start_date = params[:start]
@end_date = params[:end]
end
@user = current_user
@account_sid = @user.twilio_account_sid
@auth_token = @user.twilio_auth_token
@page_size = 5
@page = params[:page_id] || 0
@sub_account_client = Twilio::REST::Client.new(@account_sid, @auth_token)
@subaccount = @sub_account_client.account
@recordings = @subaccount.recordings
@recordingslist = @recordings.list({:page_size => @page_size, :page => @page, :"date_created<" => @end_date, :"date_created>" => @start_date})
这实际上是你帮助我与早期跟进的问题 - http://stackoverflow.com/questions/20958777/create-a-link-for-next-page -in护栏。我尝试删除该路线,但您帮助我创建的分页然后失败。我应该试图暂时存储这些值吗?我在这里看到了一些利用隐藏字段的解决方案。 – macoughl
嗨,是的 - 我记得这个问题。您不应该需要使用隐藏字段......实际上,将URL分页保留为URL路由器是一种很好的做法。你收到的错误是什么? – zeantsoi
没有错误 - 页面加载'twilio/calls',在日期选择器中设置日期范围,页面重新加载到类似'/ twilio/calls /?start = 2013-03-01&end = 2014-01-06'的页面,我使用那些值作为api调用的开始/结束日期,但是当我点击下一页时,params被剥离并且我有'/ twilio/calls/1'。它吹出日期范围,因此用户无法进入该给定范围内的下一页结果。 – macoughl