所以我在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

10-07 17:04