http://61.147.96.19/f4v/41/53283141.h264_2.f4v?10000&key=d7d7488b5dd4a35aac3e784cf4acb1a174ddc7&playtype=1&tk=2038443745&brt=3&id=tudou&itemid=30165756&fi=53283141&sz=19354294
在变量@longurl
并在erb文件中使用它
<%= @longurl %>
当我在浏览器中检查源文件时,它不起作用:
http://61.147.96.19/f4v/41/53283141.h264_2.f4v?10000&key=d7d7488b5dd4a35aac3e784cf4acb1a174ddc7&amp;playtype=1&amp;tk=2038443745&amp;brt=3&amp;id=tudou&amp;itemid=30165756&amp;fi=53283141&amp;sz=19354294
并比较差异,在每个&amp; amp之后添加amp;
,我不知道如何避免这种情况。
@url
默认情况下由rails使用,我无法在变量中保存任何内容,有人可以告诉我为什么吗?
由于
答案 0 :(得分:1)
您可以使用CGI::unescape
解码URL编码的字符串。
<%= CGI::unescape(@longurl) %>
对于HTML实体,请使用CGI::unescapeHTML
:
<%= CGI::unescapeHTML(@longurl) %>
答案 1 :(得分:1)
假设您使用的是Rails 3,请尝试<%= @longurl.html_safe %>
。
答案 2 :(得分:1)
你真的想要&amp; 在此处阅读原因:http://htmlhelp.com/tools/validator/problems.html
它是以任何其他方式“破坏”该方法,还是仅仅因为它看起来不同?
如果Rails使用@url,请使用其他变量。它不应该是一个交易破坏者。
答案 3 :(得分:1)
在Rails 3之前,您曾经必须像这样编写代码以确保所有内容都是HTML编码的:
<%= h @longurl %>
h
方法会对您的字符串进行HTML编码。现在,默认情况下,一切都是HTML编码。如果您不希望Rails为您执行此操作,我们现在使用raw
方法:
<%= raw @longurl %>
在此处详细了解raw
方法:
http://api.rubyonrails.org/classes/ActionView/Helpers/RawOutputHelper.html#method-i-raw
或阅读Rails 3发行说明中的此更改 http://edgeguides.rubyonrails.org/3_0_release_notes.html#other-changes