Rails中奇怪的escape_javascript行为

时间:2015-09-04 15:03:56

标签: javascript ruby-on-rails ajax

在调用ajax方法之后,escape_javascript函数为每个正在呈现的项目吐出</div> </div> </div>。我已经检查了所有结束标签,两次和三次,我找不到错误。 formbuilder是否正确实例化了?

控制器方法

  def add_new_plan
    new_plan = Plan.find(params[:plan_id])
    @customer = Customer.find(params[:customer_id)

    CustomerPlan.create(...)

    # Pass a form builder to the nested form
    @f = ActionView::Helpers::FormBuilder.new(:customer, @customer, view_context, {})

    respond_to do |format|
      format.js
    end
  end

js.erb

$("#customerPlan").html(
  '<%= j( render("plan_tab1", f: @f) ) %>'
);

html的模拟样本

<div>
  <div>
    form collection loop
      all form elements should be contained here
  </div>
  but the FormBuilder is outputting hidden fields here
</div>

隐藏字段完全呈现,而不是各自的表单迭代。 (请注意,检查器中的引号在呈现的页面上不可见。)

screenshot of chrome inspection

0 个答案:

没有答案