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]

Répondre à