как запросить страницу в xml в ruby-on-rails? - PullRequest
0 голосов
/ 17 июля 2010

вот мой код в контроллере

respond_to do |format|
  format.html
  format.xml  { render :xml => @menus }
end

когда я набираю "http://192.168.210.136:3000", то он рендерит HTML-версию.

но как мне запросить версию XML? Я пытался http://192.168.210.136:3000.xml и http://192.168.210.136:3000/index.xml без удачи.

спасибо!

Ответы [ 3 ]

1 голос
/ 18 июля 2010

Если вы хотите вернуть XML - по умолчанию - в свой корневой маршрут, вам может потребоваться изменить ваш route.rb, чтобы сделать его более явным, например так (пример rails 3):

Sandbox::Application.routes.draw do |map|
  root :to => "static#index", :format => :xml
end

На rails 2.3.x вы можете передать свои маршруты хешем по умолчанию, например:

map.connect 'photos/:id', :controller => 'photos',
                          :action => 'show',
                          :defaults => { :format => 'jpg' }

Для получения дополнительной информации о маршрутизаторе rails, пожалуйста, ознакомьтесь с официальными руководствами Rails по адресу: http://guides.rubyonrails.org/routing.html

1 голос
/ 18 июля 2010

Предлагаю вам дать http://guides.rubyonrails.org/routing.html#formats-and-respond-to хорошее чтение

1 голос
/ 18 июля 2010

В общем случае вы добавляете суффикс .xml к своему URL, чтобы сообщить респонденту Rails, что вы хотите. Логика вашего контроллера является правильным способом обработки входящего запроса.

например. User show для ID = 1 в XML будет выглядеть так:

http://192.168.210.136:3000/users/1.xml

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