Par défaut, le navigateur demande au serveur un flux html. On peut être amené à utiliser un flux xml (ou autre).
Rails sait gérer sa réponse en fonction du type demandé. Dans le controleur, on va indiquer comment répondre aux différents formats :
def list respond_to do |format| format.html # liste.html.erb format.xml # liste.xml.erb format.js # liste.js.erb
end end
l'exemple ci-dessus montre que l'on peut demander du html et du xml.
Pour répondre, format.html utilisera la vue list.html.erb et format.xml, utilisera la vue list.xml.erb.
On est pas obligé d'utiliser une vue pour le xml, on peut simplement sérialiser un objet :
def list @games = Game.find(:all) respond_to do |format|
format.xml { render :xml => @games }
end end
le controleur enverra directement le flux xml correspondant à l'objet @games.
|