Есть ли способ управлять кодированием URL с помощью ActiveResource?В частности, я ищу способ передать адрес электронной почты в качестве параметра.
В настоящее время мой запрос не выполняется, поскольку символ @
получает URL, закодированный в %40
, что приводит к сбою поиска в удаленном приложении.
Например, следующий запрос в модели ActiveResourcePerson
…
Person.all(:from => :remote_find_by_email, :params => {:email => "john@example.com")
Создает следующий URL
http://example.com/people/remote_find_by_email.xml?email=john%40example.com
Альтернативно, есть ли что-то, что удаленное приложение должно сделать для декодирования параметра перед выполнениемпоиск?
ОБНОВЛЕНИЕ
Благодаря 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