У меня есть пользовательский контроллер панели мониторинга с несколькими удаленными формами внутри одного представления, чтобы пользователь мог обновлять атрибуты misc:
class CustomerDashboardController < ApplicationController
def settings
end
end
//settings.html.erb
<div class="info__item">
<p class="info-item__heading">Name: <%= link_to "Edit", "", class: "info-edit__link", id: "user-edit__name", remote: true %></p>
</div>
<div class="info__item">
<p class="info-item__heading">Email: <%= link_to "Edit", "", class: "info-edit__link", id: "user-edit__Email", remote: true %></p>
</div>
Триггеры jquery ujs существуют в файле *.js.erb
, сего имя соответствует соответствующему шаблону действия / представления, в котором содержатся формы:
//customer-dashboard/settings.js.erb
$('#user-edit__name').hide().after('<%= j render("user-edit-name-form") %>');
$('#user-edit__address').hide().after('<%= j render("user-edit-address-form") %>');
Каждая форма корректно отображает и обновляет атрибуты, однако при нажатии на одну ссылку с remote: true
она отображаеткаждая частичная форма на странице одновременно, а не только одна частичная, связанная с этой ссылкой с уникальным id: ""