У меня была эта проблема,
причиной для меня была установка модальности полностью в частичном файле и установка триггера (кнопки / ссылки), вызывающего модал из другого файла представления.
Итак, допустим, что кнопка триггера находится на моей странице просмотра индекса, и я создаю модал в файле _form.html.erb; И я хочу создать новую запись со страницы индекса, используя этот модал.
Решение:
- создайте самый внешний div с идентификатором в том же файле, что и триггер
index.html.erb - кнопка запуска
<h3>
<%= link_to 'Add Category',
new_todo_path,
remote: true,
class: "btn btn-lg btn-success",
data: {toggle: "modal", target: "#modal_form_category"}
%>
</h3>
index.html.erb - крайняя часть модального
<div id="modal_form_category" class="modal fade" role="dialog">
</div>
new.js.erb
$(document).ready(function() {
$("#modal_form_category").html("<%= j render "form" %>");
});
P.S: простите за new.js.erb У меня нет абсолютной причины вложить код до тех пор, пока страница не будет готова. Я думаю, это будет работать даже без функции готовности; если вы знаете, нужно это или нет, пожалуйста, скажите мне.