web-dev-qa-db-ja.com

Ruby on rails

Ruby on Rails 2.3.5?(URLのクエリ部分で使用される文字列をエンコードします)にPHPのurlencodeに相当するものがありますか?グーグルで検索しましたが、すべての答えは2006年以前に遡り、日付のようです これは私が見つけたものです 。ビューでCGI::escapeを呼び出すのは少し異常なようです。

同等のヘルパー関数はありますか?

ありがとう!

45
Yuval Karmi

私はuヘルパーメソッドがあなたが探しているものだと信じています:

<%=u "URL ENCODE <p>ME</p>" %>

私はそのメソッドのドキュメントを見つけることができないようですが、近い将来それを見つけた場合は、ここにリンクを必ず追加します。

編集:このメソッドのドキュメントを見つけることができます こちら

96
Mike Trpcic

ERBを使用せずに実行する場合は、次を使用できます。

Rack::Utils.escape('http://example.com')
#=> "http%3A%2F%2Fexample.com"
61
Sam Soffes

これは、Rack::Utils.escapeよりもうまく機能しました。

URI::escape('http://example.com/?param=Hello World')

スペースを%20ではなく+に置き換えたため

39
yorch

ERB::Util.html_escapehおよびERB::Util.url_encodeは、uのエイリアスです。

http://Ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB/Util.html

メソッド名は、Sam Soffesが回答してから変更されたようですが、エイリアスは変更されていません。

7
webdevguy