Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Ruby Diary #25: respond_to: quale tipo di risposta accetta la richiesta?

respond_to è un metodo eccellente per offrire più template in una stessa action a seconda del tipo di richiesta.
respond_to è un metodo eccellente per offrire più template in una stessa action a seconda del tipo di richiesta.
Link copiato negli appunti

àˆ passato qualche giorno ormai e non ricordo come l'ho scoperto, ad ogni modo poco importa.

Conoscete il metodo ActionController#respond_to? Lasciatemelo dire, è uno spettacolo!

Sul blog Raaum trovate una breve ma significativa panoramica. Sostanzialmente, il metodo fornisce indicazione su quale risposta si aspetta il client: in questo modo potete supportare differenti risposte e template con uno stesso controller.

Il blog Raaum fornisce un esempio usando una versione html o restituendo un feed, a seconda del tipo di richiesta.

def show
  @monkey = Monkey.find(params[:id])
  respond_to do |format|
    # format.html with no block returns the default
    format.html
    format.xml { render :xml => @monkey.to_xml }
  end
end

Ma questa non è l'unica applicazione. Ad esempio, posso verificare se la richiesta è format.js o format.html. Nel primo caso restituirà  la lista degli ultimi post in html, nel secondo caso è una richiesta AJAX dunque li fornirà in JSON.

Prima di concludere, vi lascio con un ultimo dettaglio: format.all significa qualsiasi richiesta e può essere usato come condizione "else".

Ti consigliamo anche