如果没有形式,也许没有办法实现这个目标,但我想知道。我通过按我的应用程序管理部分中的按钮来调用一个关注的download_pdf方法。这是工作代码:
<%= button_to t('.download_pdf', :default => "Download PDF BTC Statement"), download_pdf_admin_user_path(@user),
:action => :download_pdf,
:class => "btn btn-success btn-xs" %>
现在,我们承认我想允许网站管理员同时选择start_date和end_date,以便将这些参数传递给controller#方法,以便为此日期范围生成报告。我尝试了以下但我不知道如何将这些(start_date / end_date)变量传递给控制器。这是非工作代码(参见button_to params中的CAPS):
<input type="text" placeholder="start date" id="start_date" class='datepicker'>
<input type="text" placeholder="end date" id="end_date" class='datepicker'>
<script type="text/javascript">
$(document).ready(function(){
$('#start_date').datepicker();
$('#end_date').datepicker();
START_PLZ = $('#start_date').datepicker().val();
END_PLZ = $('#end_date').datepicker().val();
});
</script>
<%= button_to t('.download_pdf', :default => "Download PDF BTC Statement"), download_pdf_admin_user_path(@user),
:action => :download_pdf,
:params => { start_date: START_PLZ, end_date: END_PLZ },
:class => "btn btn-success btn-xs" %>
当我按下按钮时,有什么方法可以使用这些JS变量并将它们传递给我的generate_pdf方法?否则我可能会使用表格。 任何输入都是apreciated。
答案 0 :(得分:1)
Erb是服务器端模板引擎,因此代码在服务器端执行,而JS代码在客户端,所以很遗憾没有直接的方法。 的但强> 我们可以做的是为远程选项设置为true的日期创建另一个表单(RAILS AJAX FORM),所以一旦提交,我们就可以将button_to加载到视图中,现在我们将使用params中的值。应该工作我猜。