2010-02-28 8 views

Répondre

5

Bien sûr. Vous pouvez mettre à peu près n'importe quoi dans un lambda que vous auriez dans n'importe quel autre bloc Ruby, alors modifiez-le simplement pour retourner le hachage :conditions seulement quand user_id n'est pas nul. Ici, j'ai utilisé un simple conditionnel ternaire:

named_scope :scope_by_user_id, lambda {|user_id| 
    user_id.nil? ? {} : { :conditions => ["comments.user_id = ?", user_id] } 
} 
Questions connexes