所以我在Rails应用程序中有一个表单,该表单使用自定义FormBuilder给我一些自定义字段标签
<% form_for :staff_member, @staff_member, :builder => MyFormBuilder do |f| %>
[...]
<%= render :partial => "staff_members/forms/personal_details", :locals => {:f => f, :skill_groups => @skill_groups, :staff_member => @staff_member} %>
[...]
<% end %>
现在,此部分位于表单的区域中,该区域将被AJAX回调替换。我最终响应AJAX请求从控制器执行的操作是:
render :partial => "staff_members/forms/personal_details", :locals => {:skill_groups => @skill_groups, :staff_member => @staff_member}
但是,如果我这样做,则表单将中断,因为我在form_for中使用的FormBuilder对象不再可用。我有什么办法可以在用于AJAX回调的部分内部使用自定义FormBuilder对象?
最佳答案
在局部中使用fields_for
。它执行类似的任务,但不包装表单标签。请参见API docs。