在JS文件中渲染erb partial会呈现一个字符串

时间:2016-05-25 08:12:03

标签: javascript ruby-on-rails partial

我正在尝试在js文件中渲染部分内容并将其附加到我的html上的javascript事件(单击)。我尝试按照此操作并使用escape_javascript方法:guide 但不幸的是它不起作用。 这是我的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事件上触发的,但它正在渲染&lt;%= escape_javascript(渲染部分:&#34; resident_form&#34;)%&gt;作为一个字符串。解决这个问题的正确方法是什么。

2 个答案:

答案 0 :(得分:0)

嘿,你的代码应该是:

$(document).ready(function(){})

就是这样,不需要这个代码{{1}},因为当服务器返回此javascript时,您的视图已经准备好了!

答案 1 :(得分:0)

在JS渲染中尝试这个。

$(".resident").append('<%= escape_javascript(render partial: "resident_form").html_safe %>');