2011-04-01 64 views
4

我有一个使用has_many关系的嵌套窗体。在我的表单视图中,我使用了部分字段输入并传递了FormBuilder对象。动态内容与fields_for

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未定义(我不知道我会通过什么散列)。

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

+1

有可能与您的当前实现动态添加字段,看看:HTTP:// railscasts.com/episodes/197-nested-model-form-part-2灵感 – apneadiving 2011-04-01 18:29:39

+0

@apneadiving谢谢!那正是我所期待的。您应该将其作为答案,以便我可以加入并接受它! – 2011-04-01 20:12:25

+0

好消息也谢谢:) – apneadiving 2011-04-01 20:20:30

回答