Je dois admettre que je ne suis même pas sûr si je mets la bonne question ...Rails - Se référer à l'objet courant dans le modèle
Dans mon application, j'ai un tas de champs appelés à construire des découvertes plus efficaces. Celui que je ne peux pas travailler est:
=> Je veux trouver tous les produits dans la catégorie actuelle et ses descendants. J'utilise la pierre « origine » pour construire l'arbre, et il fournit des champs le nom figure sur le niveau de la classe:
subtree_of(node) #Subtree of node, node can be either a record or an id
donc je pensais que ce serait une bonne idée d'avoir un named_scope comme celui-ci:
named_scope :in_tree, :include => :category, :conditions => ['category in (?)', (subtree_of(@category)) ]
ou
named_scope :in_tree, :include => :category, :conditions => ['category in (?)', (@category.subtree_ids) ]
les deux choses fonctionnent dans les contrôleurs et les aides, mais pas dans le modèle ... et quand je ne me trompe pas, il se résume à « @Category » (je l'ai défini dans le contrôleur) étant non disponible dans le modèle.
Y a-t-il une façon de le rendre disponible?
Merci pour votre aide!
Val
Merci beaucoup John! La deuxième option fonctionne comme un charme! J'ai fait une erreur dans ma question, elle finit par être ceci: named_scope: in_tree, lambda {| category | {: include =>: category, : conditions => ['categories.id in (?)', (category.subtree_ids)]}} –
Cool, content de l'avoir fait fonctionner. –