大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 如何转义yield返回的值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的布局中,我产生了元描述,以便我可以从我的模板中定义它
<meta name="description" content="<%= yield :html_description %>" />
这是我的模板,不幸的是,并没有像预期的那样逃避价值:
<% content_for :html_description,'Hello "you" guy' %> <meta name="description" content="Hello "you" guy" />
我试图用h()escaper逃脱它,但它不起作用:
<meta name="description" content="<%= h(yield :html_description) %>" /> <meta name="description" content="Hello "you" guy" />
我也尝试使用escape_once(),但它做得太多了:
<meta name="description" content="<%= escape_once(yield :html_description) %>" /> <meta name="description" content="Hello &quot;you&quot; guy" />
但是,通过将返回的值与字符串连接起来,它可以解决问题:
<meta name="description" content="<%= '' + (yield :html_description) %>" /> <meta name="description" content="Hello "you" guy" />
有谁理解这种行为?
你有一个比这个串联更好的解决方案,巧合吗?
我正在使用Rails 2.3.8 – 谢谢!
<%= tag(:meta,:name => 'description',:content => yield(:html_description)) %>
这给了你
<meta content=""I am surrounded by quotes"" name="description" />
以上是大佬教程为你收集整理的ruby-on-rails – 如何转义yield返回的值全部内容,希望文章能够帮你解决ruby-on-rails – 如何转义yield返回的值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。