2 votes

Comment sérialiser un arbre entier d'ActiveRecord dans Rails?

classe Noeud < ActiveRecord::Base
  attr\_accessible :nom

  appartient\_à :noeud\_parent, :nom\_de\_classe => "Noeud", :clé\_étrangère => :parent\_id
  a\_plusieurs :noeuds\_enfants, :nom\_de\_classe => "Noeud", :clé\_étrangère => :parent\_id
fin

Pour le noeud racine, parent_id sera nul. Disons que j'ai l'identifiant du noeud racine et que je souhaite imprimer l'arbre entier dans le flux de sortie au format JSON.

Comment puis-je procéder?

Supposons que l'arbre ne contienne pas de boucles.

1voto

Zubin Points 3130

Il semble que vous avez besoin de awesome_nested_set. Le wiki est bien documenté mais peut être difficile à trouver si vous ne savez pas qu'il existe.

Dans votre cas, vous voudrez faire quelque chose comme :

Node.root.self_and_descendants

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X