Rails的AJAX:我的部分需求FormBuilder实例 [英] Rails AJAX: My partial needs a FormBuilder instance

查看:110
本文介绍了Rails的AJAX:我的部分需求FormBuilder实例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以,我有我的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆