【发布时间】:2012-08-06 14:32:07
【问题描述】:
我有两个字段 - 结束和开始日期(日期范围),我应该将它们传递到控制器并重新加载此页面。
这是我的代码:
<%= form_tag(:controller => "financial_reports", :action => 'index', :method => 'post') do%>//maybe this line should be edited
<%= datepicker_input "report","start_date", :dateFormat => "dd/mm/yy" %>
<%= datepicker_input "report", "end_date", :dateFormat => "dd/mm/yy"%>
<%end%>
并生成 HTML():
<form accept-charset="UTF-8" action="/financial_reports?method=post" method="post"...>
<input id="report_start_date" name="report[start_date]" size="30" type="text" class="hasDatepicker"><script type="text/javascript">
<input id="report_end_date" name="report[end_date]" size="30" type="text" class="hasDatepicker"
<input class="btn wide" id="btn-report" name="commit" type="submit" value="Run Report">
</form>
我能得到这样的日期选择器值吗:
$('#datepicker').datepicker({
onSelect: function(dateText, inst) {
$("input[name='report[start_date]']").val(dateText);
}
});
我需要将它们传递给控制器并重新加载此页面,因为在此页面控制器中。
我需要在这里传递 JQUERY 值
@financial_reports = current_user.financial_reports.where(:created_at => start_date.to_date..end_date.to_date)
或者我应该添加另一个动作或方法?你有什么建议?
【问题讨论】:
-
您在这里遗漏了哪一块拼图?您是否只是在寻找一种在提交表单之前将数据传递给控制器的方法?
-
是的。我应该重新加载页面以将数据传递给控制器吗?
-
您可以使用 AJAX 将数据传递给控制器,这样他们就不必离开页面。或者,您可以使用 AJAX 传递数据,然后在尝试更新页面上的某些数据时在成功函数中重新加载页面。这取决于你,真的。你知道如何使用 AJAX 向控制器传递数据吗?
-
不,我不熟悉它。也许我可以重新加载页面并传递数据?什么会更好?
标签: jquery ruby-on-rails view controller