Я использую Rails 5.2.2.У меня есть форма с remote: true
.У меня есть партиал, который отображает способы доставки, где я предоставляю вложенные методы доставки для предложения.Моя форма также принимает вложенные атрибуты.
Моя форма работает нормально, но при обновлении я хочу отобразить обновленные методы доставки, если они изменились, но, поскольку я передаю исходную форму своей части, у меня нет этой переменной при обновлении.Вот мой частичный
_shipping_rates.html.erb
<h2> Shipping Rates</h2>
<div id="quote-shipping-rates">
<%= form.collection_radio_buttons(:shipping_method_id, quote.shipping_methods.sort_by(&:price), :id, :name, { checked: quote.shipping_method_id }) do |b| %>
<%= b.radio_button %>
<%= b.label %>
(<span class="text-red"><%= number_to_currency(b.object.price) %></span>)
<br />
<% end %>
На начальной загрузке страницы я называю частичный такой:
<%= render 'shipping_methods', :form => u , :quote => @quote %>
При обновлении у меня есть следующий файл, который выполняет JavaScript для обновления DOM.
update.js.erb
Я хочу сделать что-то подобное, но я не был уверен, что былонекоторые Rails способ воссоздать переменную формы и передать ее в частичную.
$("#quote-shipping-rates").html("");
$("<%= escape_javascript(render :partial => "shipping_methods", :form => u , :quote => @quote) %>").appendTo("#quote-shipping-rates");