【发布时间】:2012-05-01 05:14:20
【问题描述】:
考虑一下:
<%
str = "http://domain.com/?foo=1&bar=2"
%>
现在这些情况:
<%=str%>
# output:http://domain.com/?foo=1&bar=2
<%=str.html_safe%>
# output:http://domain.com/?foo=1&bar=2
<%="#{str.html_safe}"%>
# output:http://domain.com/?foo=1&bar=2
<%=""+str.html_safe%>
# output:http://domain.com/?foo=1&bar=2
我需要输出带有其他字符串的 URL。我如何保证与符号不会被转义?由于我无法控制的原因,我无法发送&amp;。
请帮忙!把我的头发拉到这里:\
编辑:为了澄清,我实际上有一个这样的数组:
@images = [{:id=>"fooid",:url=>"http://domain.com/?foo=1&bar=2"},...]
我正在创建一个 JS 数组(image_array var)以通过这种方式在我的应用程序中使用:
image_array.push(<%=@images.map{|x|"{id:'#{x[:id]}',url:'#{x[:url].html_safe}'}"}.join(",")%>);
这会生成:
image_array.push({id:'fooid',url:'http://domain.com/?foo=1&bar=2'},...);
这在我的具体情况下不起作用。我需要没有amp; 部分的url。
【问题讨论】:
-
这就是“我无法控制的原因”部分发挥作用的地方......我没有做接收器,也无法控制......这是一张图片
src.. . 不,这有什么不同 -
@phrogz 添加了一个可能有帮助的说明...谢谢
-
知道了。我改写了这个问题,以便更清楚我要解决的问题。我真的不想知道
<%=和<%=#{的区别,但是如何在一组连接的字符串中输出 html_safe ......正如你从上面的案例 4 中看到的那样:<%=""+str.html_safe不起作用要么
标签: ruby-on-rails ruby ruby-on-rails-3