Maybe this is an artifact of not using the proper plural of “child”? Try
“children” instead of “childs”. Rails internally works a lot with
building
plurals and singulars. Something could go wrong here.
Other than that it’s difficult to tell because you did not show your
model
definition. I’d also recommend using the built-in functions like
“role.children.build” instead of defining methods like “add_subrole” -
that
may interfere with caching because “role.children” is evaluated lazily
in
Rails3 while “role.children.all” makes it evaluate now. Combined with
your
improper naming scheme this may be the culprit. It looks like you are
building children outside the knowledge of the relation.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.