Визуализация частичного 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, ваше представление уже было готово!

Другие вопросы по тегам