We'll respond shortly.
Hoping to improve performance, we changed a query to use the :include condition like this:
Project.find(id, :include => :stories)
and we noticed two things:
So that’s two gotchas for the price of one.
In email, Nick pointed out that the joining behavior is documented and appropriate (”otherwise if there is a nil association (eg a project without any stories) you wouldn’t get a project back even though it exists!”) and Miho rejoined that AR can be dangerous because it changes what looks like beautiful, elegant Ruby into nasty, ugly, hard-to-understand SQL under the hood.