406使用form_for时出现不可接受的错误:remote =>在rails 3中使用jquery时为true

时间:2011-10-05 08:25:46

标签: jquery ruby-on-rails-3

我正在尝试使用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没有上传。帮帮我。提前谢谢。

2 个答案:

答案 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没有得到更新。