Bonjour à tous,
Avez-vous des idées pour refactorer ce petit bout de code que je ne
trouve pas très joli…
dans mon controller :
host = request.host
@icon_path = “http://#{host}/images/google/” + ‘movies.png’
dans ma view:
![]()
J’aimerais utiliser un helper, mais je n’ai pas trouvé quelque chose
qui puisse gérer l’url avec le nom de l’host… (je sais, j’aurais
déjà pu utiliser un helper pour le tag de l’image mais le problème
n’est pas là).
Avez-vous des idées ? Rien de tel qu’un petit refactoring avec de
partir en we !
Je vous remercie par avance,
Pierre
Dans l’application helper :
def icon_path
“http://#{request.host}/images/google/movies.png”
end
dans la vue :
<img … src="<%= icon_path %>">
Y’avait quoi de compliqué ?
–
Michel B.
Le 19 septembre 2008 12:14, Pierre V. a écrit :
Avez-vous des idées pour refactorer ce petit bout de code que je ne
trouve pas très joli…
dans mon controller :
host = request.host
@icon_path = “http://#{host}/images/google/” + ‘movies.png’
dans ma view:
![]()
J’aimerais utiliser un helper, mais je n’ai pas trouvé quelque chose
qui puisse gérer l’url avec le nom de l’host…
Tu peux écrire request.host dans un helper sans problème.
(et pourquoi écrire :
“http://#{host}/images/google/” + ‘movies.png’
plutôt que :
“http://#{host}/images/google/movies.png”
?)
– Jean-François.
–
http://twitter.com/underflow_
Merci pour vos réponses.
Je me demandais s’il y avait un helper image qui permettait
directement de réaliser ce que routes_url permet de faire en ajoutant
le host tout seul mais apparemment non… 
Ceci ne pourrait pas etre mieux, mais:
dans votre environment.rb:
ActionController::Base.asset_host = Proc.new do |url, request|
“http://#{request.host}”
end
dans la vue:
<%= image_tag(“/images/google/movies.png”, :style => ‘padding:0 6px 0
0;border:0;’, :align => ‘absmiddle’ ) $>
cependant, cette technique forcera toute les requestes pour les
ressources statiques a utiliser le nom de host de la request qui a
demandee.
Excusez mon Francais… 
Merci,
Tim
On Sep 19, 11:26 am, “Jean-François Trân” [email protected]
Je me demandais s’il y avait un helper image qui permettait
directement de réaliser ce que routes_url permet de faire en ajoutant
le host tout seul mais apparemment non… 
Heu, je ne suis pas vraiment sûr de comprendre ce dont tu parles là en
fait,
à moins que la question d’origine n’ait pas transmis le fond de ta
pensée.
Si ton objectif est d’avoir un truc du genre :
<img … src="<%= echo icon_path ‘movies.png’ %>"/>
Tu mets dans ton helper un paramètre qui va recevoir le fichier, et tu
l’ajoutes dans l’url à générer, et ça met “tout seul” le host dans ton
url.
Ou alors tu veux pouvoir faire :
<img … src=“movies.png”/>
Et que ça se transforme comme par magie en mettant le bon host ? Si
c’est le
cas je crains que ce soit une assez mauvaise idée parce que ça aura du
mal Ã
faire la différence avec n’importe quelle autre image…
–
Michel B.
2008/9/19 Pierre V. [email protected]:
@icon_path %>'>
@icon_path = “google/movies.png”
<%= image_tag @icon_path, :style => ‘padding:0 6px 0 0;border:0;’,
:align => ‘absmidle’ %>
Sachant que tu récup le host de ta requete alors le path absolue sera
bon.
–
Cyril M.