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番目のパーシャルを再帰的にレンダリングするにはどうすればよいですか?
どんなアイデアでも大歓迎です。ありがとう!