4

我有一个使用 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没有定义(我不知道我会通过:locals哈希)。

有什么方法可以正确地将字段动态添加到由定义的字段集fields_for,还是我必须在不使用帮助器的情况下重新实现我的部分?

4

1 回答 1

6

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

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

寻找灵感

于 2011-04-01T20:20:15.103 回答