Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 如何在rails 3中使用ajax为字段添加表单部分_Ruby On Rails 3_Forms_Jquery_Controller_Nested Forms - Fatal编程技术网

Ruby on rails 3 如何在rails 3中使用ajax为字段添加表单部分

Ruby on rails 3 如何在rails 3中使用ajax为字段添加表单部分,ruby-on-rails-3,forms,jquery,controller,nested-forms,Ruby On Rails 3,Forms,Jquery,Controller,Nested Forms,我真的需要帮助 我在一个屏幕上有一个多级窗体 产品=>productgroups=>productmaterials 我想在product edit和new中为productgroups和productmaterials动态添加新字段 产品组属于物料组和物料组 productmaterials属于materials(而material属于materialgroup) 我在表单中使用simple_form gem,因此=>在产品表单中,我为productgroups的部分添加了一个字段,在prod

我真的需要帮助

我在一个屏幕上有一个多级窗体

产品=>productgroups=>productmaterials

我想在product edit和new中为productgroups和productmaterials动态添加新字段

产品组属于物料组和物料组 productmaterials属于materials(而material属于materialgroup)

我在表单中使用simple_form gem,因此=>在产品表单中,我为productgroups的部分添加了一个字段,在productgroups中,我为productmaterials添加了另一个字段

现在,用户应该根据选择框选择一种materialgroup类型,他希望将其作为productgroup添加到产品中。在productgroup内部应该有一个用于添加productmaterials的物料组合框。每个materialgroup和material都有一些特定的字段值设置。所以我需要通过ajax获取部分内容

现在的问题是:如何创建一个控制器方法来检索部分产品表单的字段\ u? 这是正确的方向还是我认为有什么地方错了


附言:编辑表单作品

我建议您使用。它使用并允许您添加或删除嵌套组件

部分(
haml
)的示例:

这是(
haml
)的表格:

cocoon在链接(serverside)=>的数据部分添加了“虚拟”呈现模板,但我需要指定它应该添加哪种类型的productgroup。cocoon实际上并不是通过ajax请求的。我可以重写JS来实现这一点,但我不知道如何在控制器中创建一个单独的动作,使用表单的字段_渲染部分。每次出现FormBuilder(f)变量未实例化的错误时
.nested-fields
  .close.remove_photo
    = link_to_remove_association '', f
  = f.input :asset, :as => :image_preview
= place.simple_fields_for :photos do |photo|
  = render 'photo_fields', :f => photo
.links
  = link_to_add_association t('add_photo'), place, :photos