我使用以下代码作为对ajax调用的响应,但是为了形成链接,屏幕上会出现简单的文本。
$('div.showcomment').text('<% @comments.each do |comment| %><%= comment.body %><%= link_to 'Delete Comment', articles_deletecomment_path(:id =>comment.id), method: :delete, data: { confirm: 'Are you sure?' } %><% end %>');
一个示例文本如下: 删除评论
答案 0 :(得分:1)
尝试使用.html()
代替.text()
答案 1 :(得分:0)
最好将所有ERB代码放在一个部分中,以便您可以很好地编写ERB代码(更少混淆,更易读)并将您的部分包含在js文件中:
部分:
<% @comments.each do |comment| %>
<%= comment.body %>
<%= link_to 'Delete Comment', articles_deletecomment_path(:id =>comment.id), method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>
js.erb文件(请注意j
之前render
正确转义javascript内容):
$("div.showcomment").html("<%= j render partial: 'path/to/file' %>");