在Ruby on Rails 2.3.5中是否有等價於PHP的urlencode? (它編碼一個字符串用於URL的查詢部分) 我對它進行了搜索,但所有的答案似乎要追溯到2006年之前,似乎是日期。 This is what I found。在視圖中調用CGI::escape
似乎有點不正常。在軌道上的紅寶石的URL編碼等效
是否有等效的輔助函數?
謝謝!
在Ruby on Rails 2.3.5中是否有等價於PHP的urlencode? (它編碼一個字符串用於URL的查詢部分) 我對它進行了搜索,但所有的答案似乎要追溯到2006年之前,似乎是日期。 This is what I found。在視圖中調用CGI::escape
似乎有點不正常。在軌道上的紅寶石的URL編碼等效
是否有等效的輔助函數?
謝謝!
相信u
輔助方法,是你在找什麼:
<%=u "URL ENCODE <p>ME</p>" %>
我似乎無法找到該方法的文檔,但如果我在不久的將來找到它我會一定要把鏈接放在這裏。
編輯:你可以找到這種方法的文件here。
如果你想這樣做沒有ERB,你可以使用以下命令:
Rack::Utils.escape('http://example.com')
#=> "http%3A%2F%2Fexample.com"
顯然,不要在視圖中使用這個,但這個答案有助於我在這裏的谷歌搜索:) – davetron5000 2012-08-02 21:53:04
這比Rack::Utils.escape
我更好地工作:
URI::escape('http://example.com/?param=Hello World')
,因爲它與%20
取代了空格代替的+
URI ::轉義似乎有不同的用途。例如,它不會替換,並且:使用%2C和%3A也不會使用%2F。 Rack :: Utils確實。 – Abdo 2013-02-14 14:50:51
@Ado我認爲URI :: escape是在將URI插入HTML屬性時使用的。 I.E.它使用了像'''','<', and '>'這樣的'''','''',''''''時會導致問題的實體。Rack :: Utils.escape適用於當內容被插入_within_一個URI時,例如作爲參數 – Leo 2013-06-18 16:28:34
感謝澄清,@Leo :-) – Abdo 2013-07-17 11:16:44
ERB::Util.html_escape
,其別名爲h
和ERB::Util.url_encode
,其別名爲u
。
http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB/Util.html
的方法名稱似乎因爲山姆Soffes答案已經改變,但是別名都沒有。
沒有。 PHP的urlencode(請參閱http://php.net/urlencode)會執行諸如「」 - >「%20」之類的操作。 – Matchu 2010-03-01 03:39:23
啊,我的道歉。請看我編輯的答案。 – 2010-03-01 03:41:38
啊!還沒有機會使用那個幫手呢!所以不會讓我改變選票,因爲它似乎並不認爲你的答案是編輯的;我會在幾分鐘後回來查看是否有變化。 – Matchu 2010-03-01 03:45:33