ruby-on-rails – 如何转义yield返回的值
发布时间:2020-12-16 23:00:50 所属栏目:百科 来源:网络整理
导读:我最近有一个问题是逃避模板中的yield返回的值. 在我的布局中,我产生了元描述,以便我可以从我的模板中定义它 meta name="description" content="%= yield :html_description %" / 这是我的模板,不幸的是,并没有像预期的那样逃避价值: % content_for :html_d
我最近有一个问题是逃避模板中的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 – 谢谢! 解决方法
对于meta,img或br等自闭合标记,可以使用“tag”方法.
<%= tag(:meta,:name => 'description',:content => yield(:html_description)) %> 这给了你 <meta content=""I am surrounded by quotes"" name="description" /> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |