Ruby on Rails 2.3.5中是否有与PHP的urlencode等效的内容? (它对要在URL的查询部分中使用的字符串进行编码)
我搜索了它,但所有的答案似乎都追溯到2006年之前,似乎是日期。
This is what I found。在视图中调用CGI::escape
似乎有点不正常。
是否有等效的辅助函数?
谢谢!
答案 0 :(得分:96)
我相信你正在寻找u
辅助方法:
<%=u "URL ENCODE <p>ME</p>" %>
我似乎无法找到该方法的文档,但如果我在不久的将来找到它,我一定会在这里放一个链接。
编辑:您可以找到此方法的文档here。
答案 1 :(得分:61)
如果您想在没有ERB的情况下进行,可以使用以下内容:
Rack::Utils.escape('http://example.com')
#=> "http%3A%2F%2Fexample.com"
答案 2 :(得分:39)
这对我来说比Rack::Utils.escape
:
URI::escape('http://example.com/?param=Hello World')
因为它用%20
代替+
答案 3 :(得分:7)
ERB::Util.html_escape
,其别名为h
和ERB::Util.url_encode
,其别名为u
。
http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB/Util.html
自Sam Soffes回答以来,方法名称似乎已经改变,但是别名没有。