0
ActiveResourceでURLエンコーディングを管理する方法はありますか?具体的には、電子メールアドレスをパラメータとして渡す方法を探しています。URLエンコーディングをActiveResourceでどのように管理できますか?
現在、@
のシンボルにURLが%40
にエンコードされているため、クエリが失敗し、リモートアプリケーションの検索が失敗します。例えば
、ActiveResourceモデルPerson
で次の問合せ...
Person.all(:from => :remote_find_by_email, :params => {:email => "[email protected]")
は、以下のURL
http://example.com/people/remote_find_by_email.xml?email=john%40example.com
代わりを作成し、リモートアプリが復号化するためにやるべき何かがありますルックアップを実行する前にパラメータ? eksへ
UPDATE
おかげで、私は次のメソッドを追加し、リモートアプリのコントローラにフィルタ前:
before_filter :cgi_unescape_params, :only => [:remote_find_by_email]
private
def cgi_unescape_params
params.each { |k, v| params[k] = CGI.unescape(v) }
end
ありがとうございます! –