jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 从js.erb模板渲染部分生成带有html标记的内容的内容大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在show.js.erb中渲染@results时遇到问题.输出如下:

show.js.erb

$('#results').empty();
$('#results').html("<ul><%= escape_javascript(render(@results)).html_safe %></ul>");

_result.html.erb

<li>
  <%= link_to(result.title,result.uri) %><br>
  <span class="urls"><%= result.uri %></span>
</li>

在show.html.erb中使用_result.html.erb:

<ul>
  <%= render @results %>
</ul>

产生正确的输出.

可疑的罪魁祸首是<%= escape_javascript(render(@results)).html_safe%>.
我试过<%= raw(escape_javascript(render @ results))%>但没有运气.
应用程序是使用Rails 3.0.8创建的.

编辑1:

更长版本的show.js.erb:

$('#results').empty();
$('#results').html("<ul><%= escape_javascript(render(:partial => "results/result",:collection => @results)).html_safe %></ul>");

使用>,li>输出保持与图像上的输出相同等等.

编辑2:

由show.js.erb呈现的HTML:

编辑3:

<a href="http://jasonseifer.com/2010/04/06/rake-tutorial">Rake Tutorial | Jason Seifera&gt;<br>  <span class="urls">http://jasonseifer.com/2010/04/06/rake-tutorialspan&gt;li&gt;</span></a>

编辑4:

没有html_safe:

$('#results').empty();
$('#results').html('<ul><%= escape_javascript render(@results) %></ul>');

输出

< /已经被escape_javascript吃掉了. 编辑5:它正在工作!最后!

$('#results').html('<%= escape_javascript("<ul>#{render(@results)}</ul>").html_safe %>');

这是Dogbert用.html(”)引号和.html_safe的答案.

解决方法

请尝试将此用于js.erb

$('#results').html(<%= escape_javascript "<ul>#{render(@results)}</ul>"%>);

大佬总结

以上是大佬教程为你收集整理的jquery – 从js.erb模板渲染部分生成带有html标记的内容的内容全部内容,希望文章能够帮你解决jquery – 从js.erb模板渲染部分生成带有html标记的内容的内容所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。