2012-08-24 14 views
16

Ho un'applicazione rails 3.x con classi di modelli che restituiscono il contenuto a una vista parziale da rendere in una pagina. Il modello si occupa di ciò che il contenuto è e lo restituisce alla vista che lo aggiunge alla pagina in modo cieco. In altre parole, la vista chiama il modello che chiede il suo contenuto; il modello fornisce il contenuto HTML-Safe alla vista; e la vista scarica semplicemente ciò che viene restituito nel suo output.È possibile utilizzare i binari image_tag dall'interno di un modello?

Finora tutto funziona.

Ho bisogno di creare una classe che restituisca l'html per un collegamento a un'immagine nella pipeline degli asset (la vista non sa o si preoccupa che la cosa restituita sia un'immagine).

Nella sua forma più semplice, il modello legge un record dal database che contiene un nome file, "my_image.png". Ha bisogno di tornare alla vista dell'HTML che si riferisce all'immagine con quel nome che si trova in "app/assets/images".

È possibile farlo?

risposta

45

Ciò funzionerà all'interno Modello

ActionController::Base.helpers.image_tag("image.png") 
+0

Fantastico, grazie :) – starfry

+0

Vedere anche http://railscasts.com/episodes/132-helpers-outside- visualizza – starfry

+0

come stella, questo ha risolto un problema che stavo riscontrando quando 'image_tag' non funzionava nei metodi di supporto – TomDunning

2

prova tra cui aiuto nel modello include ActionView::Helpers & ActionView::Helpers::AssetTagHelper

+0

mi aveva cercato di includere le cose come ActionView :: AssetPath, ActionView :: Helpers e ActionView :: Helpers: : AssetTagHelper ma ha continuato a generare errori ... – starfry

+0

qual è l'errore? – Amar

+0

http://stackoverflow.com/questions/4100929/rails-console-use-image-tag-method – Amar

Problemi correlati