我的控制器中有一个对象
@data="<meta property=\"og:url\"
content=\"<%=SITE_URL%><%=request.request_uri%>\"
/>".html_safe
当我通过&lt;%= @ data%&gt;在我的视图文件中打印它时它生成的html是
<meta property="og:url"
content="<%=SITE_URL%><%=request.request_uri%>"
/>
如何使用字符串打印/转义ruby代码?
答案 0 :(得分:2)
您正在寻找字符串插值,这意味着在字符串中,它会替换变量的值。使用#{}围绕变量,如下所示: http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Literals#Interpolation
@data="<meta property=\"og:url\"
content=\"#{SITE_URL} #{request.request_uri}\"
/>".html_safe
现在,当你执行<%= @data %>
时,它应该正常显示。
答案 1 :(得分:0)
你可以尝试像这样的帮手......
<%=h(@data) %>
也可以使用原始
<%=raw(@data) %>
答案 2 :(得分:0)
@data="<meta property=\"og:url\"
content=\"<%= #{SITE_URL}%><%= #{request.request_uri} %>\"
/>"
在您的视图中使用原始帮助方法
<%= raw(@data) %>