0

Nested Model FormのRailscastの例に従っています。このヘルパー メソッドにより、動的な追加が可能になります。

def link_to_add_fields(name, f, association)
    new_object = f.object.send(association).klass.new
    id = new_object.object_id
    fields = f.fields_for(association, new_object, child_index: id) do |builder|
      render(association.to_s.singularize + "_fields", f: builder)
    end
    link_to(name, '#', class: "add_fields", data: {id: id, fields: fields.gsub("\n", "")})
  end 

Room 関連付けでこのメソッドを呼び出しているため、_room_fields が部分的にレンダリングされます。これはすべてうまく機能しています。問題は、そのパーシャル内に別のパーシャルを含む別の fields_for タグをレンダリングしたいことです。

_room_fields.html.haml:

= f.input :dorm
= f.fields_for :beds do |builder|
  =render 'bed_fields', f: builder

問題は、bed_fields パーシャルがレンダリングされないことです。動的に作成せずに同じコードを配置しようとしましたが、すべてがうまくレンダリングされます。2番目のパーシャルを再帰的にレンダリングするにはどうすればよいですか?

どんなアイデアでも大歓迎です。ありがとう!

4

1 に答える 1

0

わかりました、問題を理解しました。新しい Bed オブジェクトをインスタンス化していないため、2 番目のネストされたパーシャルはレンダリングされませんでした。

于 2013-11-05T10:42:56.653 に答える