Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rails-在不使用表单的情况下获取jQuery datepicker值?_Jquery_Ruby On Rails_Jquery Ui Datepicker - Fatal编程技术网

Rails-在不使用表单的情况下获取jQuery datepicker值?

Rails-在不使用表单的情况下获取jQuery datepicker值?,jquery,ruby-on-rails,jquery-ui-datepicker,Jquery,Ruby On Rails,Jquery Ui Datepicker,在我的项目中,我有一个链接,单击该链接可以运行报告。该报表从2个jQuery日期选择器接收日期最小值和日期最大值。目前,javascript用于获取date_min和date_max的值,然后在URL中使用,以便在控制器中我可以访问参数中的值 视图: 使用javascript为控制器设置要获取的值似乎是一个额外的步骤。是否有Rails最佳实践允许我跳过这一步?我的表单中没有日期选择器,因此无法使用POST。我觉得数据不需要在请求之间保持,所以我觉得会话不合适 如有任何建议,将不胜感激 感谢最干净

在我的项目中,我有一个链接,单击该链接可以运行报告。该报表从2个jQuery日期选择器接收日期最小值和日期最大值。目前,javascript用于获取date_min和date_max的值,然后在URL中使用,以便在控制器中我可以访问参数中的值

视图:

使用javascript为控制器设置要获取的值似乎是一个额外的步骤。是否有Rails最佳实践允许我跳过这一步?我的表单中没有日期选择器,因此无法使用POST。我觉得数据不需要在请求之间保持,所以我觉得会话不合适

如有任何建议,将不胜感激


感谢最干净的解决方案可能是将日期选择器放在表单中(GET而不是POST),或者使用提交按钮而不是链接,或者让文本链接在JS中执行表单.submit()


我不认为不使用带有按钮的简单表单(或图像提交)就可以完全避免JS,但可以通过这种方式最小化JS。

好吧,不想使用会话,那么使用cookies:p感谢您的帮助。我一直在研究为什么我们会使用GET而不是POST。我们使用GET是因为它的资源路径用于索引和显示,而我们不使用POST是因为它的资源路径用于创建和销毁吗?按照惯例(请参见),GET用于检索(显示内容),并且不应有副作用(如创建/更新/销毁记录)。POST(或其他方法/动词)用于更新等。搜索引擎倾向于仅索引GET,浏览器倾向于仅预回迁GET等。由于GET在URL中有参数,因此它们可用于书签和共享–适用于显示内容的URL。我相信你知道,你可以在表单中使用GET。Rails RESTful路由遵循这些约定,但它们早于Rails和REST。这是一个奇妙的答案。我真的很感谢你的努力。谢谢!太好了。
<li><a href="javascript:" onclick="get_report_values()">Report</a></li>
@get_report_values = ->
window.open("/reports/test_report?date_min=" + $('#datepicker_min').val() + "&date_max=" +     $('#datepicker_max').val(), "_blank")