[vue][erb] invoquer un template ERB depuis une vue Rails


#1

Salut,
j’aimerais pouvoir, dans une ou deux vues de mon applications Rails,
rajouter du HTML généré à partir d’un template mémorisé dans ma base
de données. Comment puis-je faire ?

Nicolas D.
N’imprimez ce mail que si vous ne savez pas le lire sur l’écran : les
électrons se recyclent bien, le papier, beaucoup moins bien.


#2

On 5/27/07, Nicolas D. removed_email_address@domain.invalid wrote:

Salut,
j’aimerais pouvoir, dans une ou deux vues de mon applications Rails,
rajouter du HTML généré à partir d’un template mémorisé dans ma base
de données. Comment puis-je faire ?

Tu peux utiliser la méthode render_to_string[1], si tu veux que ca
soit généré dans ton controleur et transféré dans une string. Par
contre en regardant le code de la méthode, j’ai l’impression qu’elle
pourrait passé en deprecated
bientôt.
Par contre une autre technique toute simple et d’utiliser le helper
render directement dans ta vue.

<%= render :file => ‘entries/view.rhtml’ %>

Le path de base est bien sur “#{RAILS_ROOT}/app/views”

[1] :
http://api.rubyonrails.org/classes/ActionController/Base.html#M000268


Cyril M.


#3

Nicolas :

j’aimerais pouvoir, dans une ou deux vues de mon applications Rails,
rajouter du HTML généré à partir d’un template mémorisé dans ma base
de données. Comment puis-je faire ?

Dans ton action :

erb_string = MonModele.find(…)
@result = render_to_string(:inline => erb_string)

 -- Jean-François.


À la renverse.


#4

On 5/27/07, Jean-François removed_email_address@domain.invalid wrote:

erb_string = MonModele.find(…)
@result = render_to_string(:inline => erb_string)

Merci pour l’info.
J’ai trouvé en fait juste après avoir posé la question. Il suffit
effectivement dans ma vue de faire un render :inline => “mon texte”

 -- Jean-François.


À la renverse.


Nicolas D.
N’imprimez ce mail que si vous ne savez pas le lire sur l’écran : les
électrons se recyclent bien, le papier, beaucoup moins bien.