Je débute en rails, et j’ai un petit souci pour lequel je ne vois pas
bien de solution.
J’ai un “model” nommé “Groupe”.
Il a une relation de type has_many vers un autre modèle (aucun pb)
il a une relation auto-référente que je gère avec un
acts_as_nested_set (awesome_nested_set). C’est bien là qu’intervient
mon pb:
Lorsque dans mon formulaire je créer un nouveau groupe, tout se passe
bien sauf lorsque je lui spécifie un parent (parent_id). Là le log me
sort un “Warning: can’t mass-assign”… Après quelques recherches,
j’ai compris l’origine et l’intérêt d’un telle protection, je ne vois
pas comment associer à la création de mon objet un parent.
Si qqun à une piste, je suis preneur
PS: Dans mon modèle lorsque je mets “attr_accessible”, rails hurle en
me disant qu’un attibut ne peut pas être à la fois protégé et
accessible… Du coup j’ai jeté un coup d’oeil dans plugin et tenté de
le modifier pour enlever le protected à mon “parent_id”, mais rien
n’y fait…
pas comment associer à la création de mon objet un parent.
Si qqun à une piste, je suis preneur
PS: Dans mon modèle lorsque je mets “attr_accessible”, rails hurle en
me disant qu’un attibut ne peut pas être à la fois protégé et
accessible… Du coup j’ai jeté un coup d’oeil dans plugin et tenté de
le modifier pour enlever le protected à mon “parent_id”, mais rien
n’y fait…
Le principe de nested set est de numéroter les feuilles de l’arbre.
Si on met directement un parent_id, on ne décale pas les numéros et
l’arbre est inexploitable. Il faut donc toujours d’abord créer (à la
fin de l’arbre) puis déplacer (et assigner un parent).
Si ces deux opérations doivent absolument être groupées, penser à une
transaction ?