je voudrais utiliser la fonction de searchlogic scope_procedure
comme siPassage d'arguments à scope_procedure dans searchlogic
class MyModelObject < ActiveRecord::Base
scope_procedure :my_scope_proc, lambda { |p1, p2| { :conditions => "p1 >= #{p1} AND p2 < #{p2}" }}
end
Ensuite, je fais la recherche:
scope = MyModelObject.search(:my_scope_proc => true)
scope.all
Le code ci-dessus ne fonctionne évidemment pas parce que je n'ai pas passé les paramètres p1
et p2
à ma portée nommée.
Je n'arrive pas à comprendre comment transmettre des paramètres à la portée nommée.
Merci beaucoup pour votre suggestion. Bien que cela n'ait pas fonctionné, cela m'a conduit à une solution. Cela fonctionne avec un seul paramètre et uniquement avec la méthode searchlogic. J'ai fini par passer un tableau de paramètres. Pas le code le plus lisible ou la solution élégante mais cela fonctionne. – GregK