2015-11-16 2 views
0

Donc je veux implémenter la gemme acts_as_tree pour mon modèle d'utilisateur. La colonne que je veux être dans une forme d'arbre est mon "account_type". ACCOUNT_TYPE pourrait être "admin, chef, membre"comment implémenter acts_as_tree sur le contrôleur d'un modèle spécifique

root = admin 
root.children = leader 
leader.children = member 

Fondamentalement, admin est le parent du chef et le chef est le parent de membre.

Dans ma méthode de création pour les nouveaux utilisateurs i les éléments suivants ne

@user = User.new root = @ User.create ("ACCOUNT_TYPE" => "admin")

mais je suis un erreur méthode non définie créer .. Je suis un peu confus quant à comment puis-je initialiser ou mettre en œuvre la gemme acts_as_tree du contrôleur

Toutes les idées seront appréciées

Merci

Répondre

0

Eh bien, vous ne pouvez normalement pas créer via l'instance, mais vous pouvez créer via l'association. Donc, en supposant que la colonne parent_id soit définie comme une clé étrangère, vous devriez être capable de faire quelque chose comme ça.

root = User.create(account_type: "admin") 
leader = root.children.create(account_type: "leader") 
member = leader.children.create(account_type: "member") 

qui va créer un nouvel utilisateur, appelé racine avec un ACCOUNT_TYPE d'administration, puis créez un enfant avec ACCOUNT_TYPE de chef, puis créer un enfant du chef avec ACCOUNT_TYPE membre.