2009-06-01 6 views
3

J'ai un modèle par le filtre de nom, mais en raison des changements dans la réorganisation des filtres de 2.0.3, il est en conflit avec laModèle Nom Conflit

ActionController::Filters::Filter (class) 

Dans mon filters_controller.rb lorsque je tente de trouver le filtre

Filter.find(:id) 

comme rails est inférer la classe ActionController::Filters::Filter plutôt que de ma classe de modèle de filtre. Y a-t-il d'autres solutions que de renommer mon modèle?

BTW: Si j'utilise ActiveRecord::Base::Filter.find(:id) pour charger mon objet filtre, son fonctionnement, mais je ne suis pas tout à fait sûr s'il y a des implications imprévues en faisant cela, lorsque les rails tentent de décharger/recharger les constantes.

Merci d'avance.

Répondre

4

Le moyen le plus sûr de gérer cela est de renommer votre modèle. Sinon, vous courez le risque d'être «malin» et de vous faire mordre par la suite, quand il sera très difficile de déboguer.

+2

Merci pour la réponse _Kevin. En fait, j'ai reçu les commentaires suivants sur ruby-forum.org. Si j'utilise :: Filter.find() qui force le ruby ​​à chercher ma classe plutôt que la classe ActionController :: Filters :: Filter. Je pense que c'est sûr. –

1

J'ai presque manqué votre commentaire, donc pour répondre à votre propre question.

::Filter.find()