2010-12-14 2 views
0

ActiveResource로 URL 인코딩을 관리 할 수있는 방법이 있습니까? 특히 저는 이메일 주소를 매개 변수로 전달하는 방법을 찾고 있습니다.어떻게 URL 인코딩을 ActiveResource로 관리 할 수 ​​있습니까?

현재 @ 기호가 %40으로 인코딩 된 URL을 가져 오므로 내 검색어가 실패하여 원격 앱 조회가 실패합니다. 예를 들어

의 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

대안을 생성합니다 조회를 수행하기 전에 매개 변수를?

UPDATE

감사 eks에, 나는 다음과 같은 방법을 추가하고 원격 응용 프로그램의 컨트롤러에 필터 이전 :

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 

답변

1

원격 끝에 CGI :: 언 이스케이프를 사용해보십시오, 그 % 인코딩 된 값을 처리해야합니다. 건배!

+0

감사합니다. –