Rails的AJAX:我的部分需求FormBuilder实例 [英] Rails AJAX: My partial needs a FormBuilder instance
问题描述
所以,我有我的Rails应用程序的一种形式,它使用的自定义FormBuilder给我一些自定义字段标签
So I've got a form in my Rails app which uses a custom FormBuilder to give me some custom field tags
<% 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请求是:
Now, this partial is in an area of the form which gets replaces by an AJAX callback. What I end up doing from the controller in response to the AJAX request is:
render :partial => "staff_members/forms/personal_details", :locals => {:skill_groups => @skill_groups, :staff_member => @staff_member}
但是,如果我这样做,那么表单休息,为FormBuilder对象我以前在的form_for不再可用。有什么办法,我用我的自定义FormBuilder对象中部分使用了一个AJAX回调?
However, if I do that then the form breaks, as the FormBuilder object I used in the form_for is no longer available. Is there any way for me to use my custom FormBuilder object inside a partial used for an AJAX callback?
推荐答案
使用 fields_for
里面的部分。它执行类似的任务,但没有包装的形式标记。请参阅 API文档。
Use fields_for
inside your partial. It performs a similar task but without wrapping the form tags. See the API docs.
这篇关于Rails的AJAX:我的部分需求FormBuilder实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!