Я следую примеру 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 не рендерится. Я пытался поместить тот же код без динамического создания, и он все делает нормально. Как я могу рекурсивно визуализировать вторую часть или что-то в этом роде?
Любые идеи будут высоко оценены. Спасибо!