Визуализация частичного erb в файле JS отображает строку
Я пытаюсь визуализировать частичку в моем js-файле и добавить его в html при событии javascript (клик). Я попытался следовать этому и использовать метод escape_javascript: рендеринг частичного в файл js.erb, но, к сожалению, он не работает. Это мой файл JS:
$(document).ready(function(){
$("#add_resident").click(function(){
$(".resident").append('<%= escape_javascript(render partial: "resident_form") %>');
})
})
это мой частичный
<%= label_tag "first name" %>
<%= text_field_tag "resident[:first_name]" %>
<%= label_tag "last name"%>
<%= text_field_tag "resident[last_name]" %>
<%= label_tag "birthdate"%>
<%= text_field_tag "resident[birthdate]" %>
javascript действительно запускается в событии.click, но он отображает <% = escape_javascript (render частичный: "resident_form")%> в виде строки. Как правильно это исправить.
2 ответа
Попробуйте это в JS, оказанном.
$(".resident").append('<%= escape_javascript(render partial: "resident_form").html_safe %>');
Эй, ваш код должен быть:
$("#add_resident").click();
$(".resident").append('<%= escape_javascript(render partial: "resident_form") %>');
Вот и все, этот код не нужен $(document).ready(function(){})
потому что когда сервер возвращает этот javascript, ваше представление уже было готово!