Bonjour à tous,
Je suis en phase de migration vers Rails 3 et je viens de tomber sur un
problème avec mon appli.
Dans un de mes modeles je fais :
class << self
def apply_language_scope(lang = "fr")
lt = Lang.find(:all, :conditions=>["short_name IN (?)",lang])
self.scoped_methods[0] = {:find => {:conditions => ['videos.lang_id IN
(?)', lt.map(&:id)]}}
end
end
Ceci me permet de gérer l'affichage de mon contenu suivant la lang ou les
langs choisies. Une sorte de default_scope.
Le pb est que sous Rails 3 quand j'appel ma fonction apply_language_scope
j'ai ensuite comme erreur :
ruby-1.9.2-p290 :002 > Video.apply_language_scope
=> {:find=>{:conditions=>["videos.lang_id IN (?)", [1]]}}
ruby-1.9.2-p290 :005 > Video.find(:first)
*NoMethodError: undefined method `includes_values' for
{:find=>{:conditions=>["videos.lang_id IN (?)", [1]]}}:Hash*
A priori je pense que cela est du au formatage de ma condition
dans scoped_methods[0] que Rails 3 n'aime pas.
J'ai tenté plusieurs variantes à base e where, en suppr find etc. mais sans
succès.
D'avance merci si vous avez une idée !
PS : Migrer vers Rails 3 c'est pas la joie :)
--
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse
[email protected]