Bonjour,

tous les "*_nested_set" rangent tes enregistrements dans la BDD avec des 
champs "lft" et "rgt", une astuce qui permet de simuler un rangement 
arborescent : la théorie est intéressante et étonnamment simple, tu as 
les dessins et le texte sur awesome, better ou sur le plugin original.

Changer directement le parent_id "casserait" ces astuces de calcul, 
c'est pour ça que c'est interdit. Il faut donc utiliser les méthodes 
d'awesome pour déplacer/insérer un objet dans l'arbre, typiquement 
"move_to_*". Et donc supprimer parent_id de tes params,

Ça te donne donc un code en deux étapes qui ressemble à :
@obj.move_to_child_of(params[:obj].delete[:parent_id])
@obj.update_attributes(params[:obj])

Ajoute tout le code de gestion et de sécurité que tu veux :)

Attention : "bouger" le noeud re-sauve l'objet dans la BDD. C'est 
important à noter si tu as des triggers etc.

Bon courage,
-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]
-~----------~----~----~----~------~----~------~--~---

Répondre à