Rails 3 + Ajax: как получить доступ к моему экземпляру локального форм

У меня есть форма, которая отображает набор входов. У меня также есть кнопка, и при нажатии на нее я делаю запрос ajax, который должен заменить существующие входы с различным набором входов.

Вся моя связь, связанная с ajaxy, работает отлично. Проблема в том, что я использую form_for, поэтому для отображения новых входных данных формы мне нужен экземпляр компоновщика форм.

Просмотреть файл

<%= simple_form_for @order do |f| %>
    <div id="info">
        <%= render 'my_first_form_fields_partial', f: f %>
    </div>
    <%= link_to 'Change inputs', change_inputs_path, remote: true %>
<% end %>

Я хотел бы, чтобы мой js.erb выглядел так, но f определяется только в пределах области формы в представлении.

$('#info').html("<%= escape_javascript(render 'my_second_fields_partial', f: f) %>");

Как я могу работать с ним так, чтобы получить f в это частичное как-то?

Ответ 1

Можете ли вы использовать fields_for в частичном, и передать @object на него? Таким образом вам не нужно передавать конструктор форм?

partial:

<%= fields_for object do |f| %>
  f.text_field :field_name
<% end %>


$('#info').html("<%= escape_javascript(render 'my_second_fields_partial', object: @object) %>