Я пытаюсь использовать ActiveResource для потребления данных XML от третьего лица API. Я могу использовать приложение RESTClient, чтобы успешно аутентифицировать и выполнить запросы. Я кодировал свое приложение и когда я выполняю запрос, я получаю 404 ошибки. Я добавил:
ActiveResource::Base.logger = Logger.new(STDERR)
в мой development.rb файл и вычисленный проблема. API отвечает данными XML к запросам, которые НЕ заканчиваются в xml. EG, это работает в RESTClient:
https://api.example.com/contacts
но ActiveResource отправляет этот запрос вместо этого
https://api.example.com/contacts.xml
Есть ли так или иначе "хороший" способ разделить расширение от запроса, сгенерированного ActiveResource?
Спасибо
Возможно, вам потребуется переопределить метод element_path в вашей модели.
Согласно API, текущее определение выглядит следующим образом:
def element_path(id, prefix_options = {}, query_options = nil)
prefix_options, query_options = split_options(prefix_options) if query_options.nil?
"#{prefix(prefix_options)}#{collection_name}/#{id}.#{format.extension}#{query_string(query_options)}"
end
Удаление части. # {Format.extension} может сделать то, что вам нужно.