2010-07-17 4 views
0

ici est mon code dans un contrôleurcomment demander une page en xml dans ruby-on-rails?

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

quand je tape "http://192.168.210.136:3000" il rend la version html. Mais comment demander la version xml? J'ai essayé http://192.168.210.136:3000.xml et http://192.168.210.136:3000/index.xml sans chance.

merci!

+0

guess pas testé: http://192.168.210.136: 3000/.xml – Joni

+0

A quoi ressemble votre fichier map.root dans votre fichier de routes? – Gareth

+0

@gareth: root: to => 'première page # index' –

Répondre

1

Si vous souhaitez revenir XML - par défaut - dans votre itinéraire racine, vous devrez peut-être modifier vos itinéraires. rb pour le rendre plus explicite, comme celui-ci (rails 3 par exemple):

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

Sur rails 2.3.x, vous pouvez passer vos itinéraires un hachage de défaut, comme ceci:

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

Pour plus d'informations sur le routeur de rails, s'il vous plaît vérifier les rails officiels guides à: http://guides.rubyonrails.org/routing.html

1

Dans le cas général, vous ajoutez le suffixe .xml à votre URL pour indiquer au répondeur Rails ce que vous voulez. La logique de votre contrôleur est la manière correcte de gérer la demande entrante.

E.g. Un Usershow pour ID = 1 en XML devrait ressembler à ceci:

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

Questions connexes