API-интерфейсы без RESTFul Rails - PullRequest
0 голосов
/ 17 ноября 2011

У меня есть небольшой API, который я пишу в rails 3. Это не успокаивающее приложение, поэтому я использую контроллер с именем api, который имеет несколько методов, таких как:

def users
  @users = User.all
    respond_to do |format|
           format.any do
                  render :xml => @users.to_xml
            end
    end
  end
end

Файл моих маршрутов (с удаленными комментариями и т. Д.) Выглядит следующим образом:

resources :shows
resources :users

resources :comments 

devise_scope :user do
    get "/login" => "devise/sessions#new"
    get "/logout" => "devise/sessions#destroy"
    get "/register" => "devise/registrations#new"
end


root :to => 'home#index'

match ':controller(/:action(/:id(.:format)))'

Когда я вызываю api / users, я получаю XML, завернутый в HTML-теги (фактически в теле), но если я вызываю api / users.xml, я получаю ошибку 406?

Нужно ли менять маршруты, чтобы соответствовать вызову XML?

Спасибо,

S

1 Ответ

0 голосов
/ 18 ноября 2011

Я добавил новый маршрут к route.rb, и он заработал:

match 'api/users.:format' => 'api#users', :constraints => {:format => /(xml)/}

J

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...