【发布时间】:2011-07-27 21:14:11
【问题描述】:
我有一个使用 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 定义的字段集中,或者我是否必须在不使用帮助器的情况下重新实现我的部分?
【问题讨论】:
-
可以使用您当前的实现动态添加字段,请查看:railscasts.com/episodes/197-nested-model-form-part-2 以获得灵感
-
@apneadiving 谢谢!这正是我想要的。您应该将其作为答案,以便我可以投票并接受它!
标签: ruby-on-rails partials fields-for