使用fields_for的动态内容

Dan*_*uis 4 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}
Run Code Online (Sandbox Code Playgroud)

_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
Run Code Online (Sandbox Code Playgroud)

这应该工作; 但是,我想在AJAX中添加功能以使用RJS动态添加另一组字段,当我尝试通过RJS渲染部分时,显然s没有定义(我不知道我通过了什么:locals哈希值).

有没有办法将字段动态地添加到由定义的字段集中fields_for,或者我是否必须重新实现我的部分而不使用帮助程序?

apn*_*ing 6

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

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

寻找灵感