使用fields_for的动态内容

时间:2011-04-01 17:56:30

标签: ruby-on-rails partials fields-for

我有一个使用has_many关系的嵌套表单。在我的表单视图中,我使用部分字段输入并传递FormBuilder对象。

form.html.haml:

- form_for @record do |f|
  .field
    = container do
      - f.fields_for :strings do |s|
        = render :partial => 'string_fields', :locals => {:s => s}

_string_fields.html.haml:

= s.hidden_field :id
= s.hidden_field :language_id

.field
  %h3
    = t(:name)
  = s.text_field :name, :size => 50

.field
  %h3
    = t(:description)
  = s.text_area :description, :rows => 6

这样可行;但是,我想在AJAX中添加功能以使用RJS动态添加另一组字段,当我尝试通过RJS渲染部分时,显然s未定义(我不知道我是什么) 'd传递:locals哈希值。

是否有某种方法可以将字段动态地添加到由fields_for定义的字段集中,或者我是否必须在不使用帮助程序的情况下重新实现我的部分?

1 个答案:

答案 0 :(得分:6)

可以使用当前实现动态添加字段,请查看:

http://railscasts.com/episodes/197-nested-model-form-part-2

获取灵感