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 に答える