在调用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>
隐藏字段完全呈现,而不是各自的表单迭代。 (请注意,检查器中的引号在呈现的页面上不可见。)