Broken caching in Rails 3.1.0

I experience a strange issue in Rails 3.1.0 with activerecord

See the bottom lines of this gist. Why is there a difference in the
resultset of role.childs and role.childs.all

This happens in test and development mode.

Maybe this is an artifact of not using the proper plural of “child”? Try
“children” instead of “childs”. Rails internally works a lot with
plurals and singulars. Something could go wrong here.

Other than that it’s difficult to tell because you did not show your
definition. I’d also recommend using the built-in functions like
“” instead of defining methods like “add_subrole” -
may interfere with caching because “role.children” is evaluated lazily
Rails3 while “role.children.all” makes it evaluate now. Combined with
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.

| Privacy Policy | Terms of Service | Remote Ruby Jobs