2011-01-02 6 views
24

Ok. So che questo è molto semplice. Voglio avere alcuni tag di base sul contenuto del testo nel database da elaborare nel rendering della vista.Come ottenere viste Rails per elaborare tag HTML dal contenuto del database?

Fondamentalmente, ho un modello di nome Page.

rails g model Page name:string content:text 

voglio tutto ciò che è nel campo del contenuto da visualizzare nella vista, ma, se c'è HTML nel campo dei contenuti, lo voglio da lavorare non appena mostrato.

Per esempio, nella mia pagina # show vista, io possa avere:

<%= @page.content %> 

quali uscite:

< p> Questa è la mia prima < b> paragrafo </b>. </p>

quando lo voglio per l'output:

Questo è il mio primo comma.

Ancora, si prega di essere gentile. So che questo è probabilmente piuttosto semplice, ma sto facendo fatica a cercare come farlo. :)

risposta

40

È possibile utilizzare il metodo raw helper

<%=raw @page.content %> 
+0

Perfetto. Grazie! –

+0

cosa è meglio raw o html_safe? e cos'è il saffer? – brabertaser19

+0

'raw' chiama' html_safe' sotto il cofano. http://api.rubyonrails.org/classes/ActionView/Helpers/OutputSafetyHelper.html#method-i-raw. –

2

<%= @page.content.html_safe %> se si è al sicuro con il suo contenuto.

+2

Penso che sia consigliato raw. Guarda questo articolo: http://yehudakatz.com/2010/02/01/safebuffers-and-rails-3-0/ – jacklin

Problemi correlati