所以我在我的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文档.