On 5/28/07, renaud morvan [email protected] wrote:
Ce n’est pas exact. La seule garantie que t’offre le dossier lib par
rapport au dossier dqsdqs/dqsdqs/dsqdqs c’est qu’il est chargé dans le
load path, tout comme models.
Donc, si je place mes fichiers dans l’un comme dans l’autre,
çadevrait marcher … sauf que dans le second cas, ça ne marche pas pour
les migrations.
Ma préférence perso va à require_dependency qui check si la constante
Toto existe et ne charge le fichier que si elle n’existe pas (en plus
ca recharge le fichier à chaque requête en mode development).
Effectivement, ça peut être pratique … Je vais tester ça.
-la variable $LOAD_PATH qui contient l’ensemble des répertoires qui
vont être recherché
Variable d’environnement ? Elle n’est pas définie dans mon cas.
Variable globale de Ruby ?
-est-ce que le model qu’on cherche à charge est bien dans un fichier
correspondant à la camelisation du nom du model (=> Attention à la
single inheritance, les sous classes ne sont pas automatiquement
chargeable quand elles sont dans le fichier même fichier que la classe
mère)
Ce n’est pas un modèle, c’est un ensemble de générateurs de contenus
HTML destinés à être utilisés dans des modèles.
-au cours des migrations d’autres problèmes entrent en compte, la
modification des colonnes d’une table ne sont pas pris en compte si le
model était déjà chargé, ce qui entraine des problèmes très bizarre
parfois, genre update_attribute qui ne fonctionne pas sur les bonnes
column…
Sauf si on fait un reset_column_information, je crois.
e problème que j’ai dans les migrations est plus simple que ça. En
effet, tout bêtement, dans mon modèle, lors du before_save, j’appelle
des méthodes de ces générateurs, et ruby ne trouve pas mon fichier.
A priori au vu de la maigre description du problème il y a fort à
parier que c’est le cas 1 ou 2, le premier truc à vérifier c’est la
variable globale $LOAD_PATH, le deuxième est de vérifier que le
require n’a pas déjà eu lieu au mauvais endroit ce qui empèche le
chargement ici.
Pour LOAD_PATH, je ne sais pas. Pour le require, je viens de vérifier,
et il n’est pas fait ailleurs.
–
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.