Constante accessible dans les controleurs et les vues

Bonjour,

J’ai un truc tout con que j’arrive pas à faire : avoir une constante
(sur le
coup c’est une constante, mais meme pb avec une varialbe en fait) qui
soit
accessible par tous les controleurs et toutes les vues. Par exemple (par
tout a fait au hasard), le nom du site, ou la version du site.

Merci !

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/

Guillaume :

J’ai un truc tout con que j’arrive pas à faire : avoir une constante
(sur le coup c’est une constante, mais meme pb avec une varialbe
en fait) qui soit accessible par tous les controleurs et toutes les
vues. Par exemple (par tout a fait au hasard), le nom du site, ou
la version du site.

Supposons que ton application s’applle Harinordoquy.

Une manière de faire est de mettre tes constantes dans un module
pour faire les choses proprement.

dans config/initializers/harinordoquy.rb

module Harinordoquy
module VERSION
MAJOR = 1 # classique
MINOR = 2
TINY = 3

STRING = [MAJOR, MINOR, TINY].join(‘.’)
end

autres constantes

SITENAME, AGE_OF_CAPTAIN…

end

Tu peux aussi rajouter une méthode au module VERSION :

def self.to_s
STRING
end

Pour pouvoir écrire : “Mon appli est à la version :
#{Harinordoquy::VERSION}”

À part ça, Imanol, c’est quand même plus court.

-- Jean-François.


Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)

Une manière de faire est de mettre tes constantes dans un module
pour faire les choses proprement.

A y etre, autant le faire propre, t’as bien raison. Surtout que je me
doute
que ça resservira !

Merci bcp, et allez les Bleus (-:

gUI (qui en bon Toulousain prefere Michalak, Jauzion, Elissalde,
Heymans…)


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/

Salut,

Jean-François Trân a écrit :

Une manière de faire est de mettre tes constantes dans un module
pour faire les choses proprement.

dans config/initializers/harinordoquy.rb

Merci pour l’astuce. Mais tu as juste oublié de préciser que la gestion
du répertoire “config/initializers” n’existe qu’en Rails 2.0 :slight_smile:

Pour reproduire ton exemple en gardant cette arborescence en Rails 1.2,
j’ai triché en rajoutant la ligne “require ‘initializers/harinordoquy’”
à la fin de config/environment.rb.

Cordialement,


Farzad FARID / Architecte Open Source - Associé
Pragmatic Source / http://www.pragmatic-source.com
Tel : +33 9 53 19 21 90 / Mob : +33 6 03 70 65 46
Rejoignez mon réseau de contacts :
http://www.viadeo.com/invitationpersonnelle/002ic6twokcvmi