我正在尝试使用form_for更新div:remote =>是的,但它没有发生。下面给出的是我的代码
monhtly_report.html.erb
<%= form_for(:monthly_detail, :url => product_report_monthly_details_path,:remote => true) do |f|%>
<table class="form-table">
<tr>
<td width="80px">
Product
</td>
<td colspan="2">
<%= f.collection_select(:product_id, @products, :id,:name, :prompt => true)%>
</td>
</tr>
<tr>
<td>
Month
</td>
<td>
<%= select_month(Date.today, :field_name => 'selected_month') %>
<%= select_year(Date.today, :start_year => 2000, :end_year => 2020, :field_name =>'selected_year') %>
</td>
</tr>
<tr>
<td></td>
<td>
<%=submit_button_tag 'Submit'%>
</td>
</tr>
</table>
<%end%>
<div class="monthlyreportsection">
</div>
这是我的控制器
def product_report
@details = MonthlyDetail.find_by_product_id(params[:monthly_detail][:product_id].to_i)
@time = Date.new(params[:date][:selected_year].to_i, params[:date][:selected_month].to_i,1)
respond_to do |format|
format.js
end
end
P.S:请求将作为html发送到控制器,而它必须是JS
product_report.js.erb
$("#monthlyreportsection").html("<%=escape_javascript(render(:partial => "product_details"))%>")
我的实际问题是div没有上传。帮帮我。提前谢谢。
答案 0 :(得分:1)
在form_for
部分中,您可以使用:format => :js
作为:url
路径上的参数来请求product_report
操作的JavaScript版本。
<%= form_for(:monthly_detail,
:url => product_report_monthly_details_path(:format => :js),
:remote => true) do |f| %>
答案 1 :(得分:0)
最后我修好了。
虽然我使用的是jquery但我没有更新“rails.js”文件,但它仍然使用了原型的“rails.js”文件。所以div没有得到更新。