2010-07-15 10 views
5

Stackoverflow mi ha insegnato molto su ciò che è corretto RESTful, MVC, GET/POST è che mi sto chiedendo come le persone imparano a programmare/ingegnere in passato prima che Stackoverflow esistesse. ;)Ottenere HTML nel controller dal modello di visualizzazione

Dato che, ecco un'altra domanda su come posso eseguire una (abbastanza) procedura comune nel modo più appropriato.

Devo generare un codice HTML da un modello di visualizzazione da utilizzare in un'azione del controllore. In questo senso, è un po 'come ActiveMailer.

  1. modello HTML in un file .html.erb
  2. azione di controllo con i params
  3. Ottenere il codice HTML del modello da utilizzare nel dispositivo di controllo

Qual è il modo migliore per quel ? Lo pseudo codice sarà molto apprezzato, grazie!

risposta

11

Forse mi manca qualcosa, ma vuoi render_to_string?

http://api.rubyonrails.org/classes/ActionController/Base.html#M000465

foo = render_to_string(:template => 'foo/bar', :locals => { :something => 'value' }) 

Questo è fondamentalmente lo stesso di chiamare il rendering su un modello, ma scrive in una stringa (foo) piuttosto che la risposta HTTP.

+1

puoi anche specificare ': layout => false' per non includere la parte generata delle rotaie. – sircapsalot

Problemi correlati