I think the problem is when ORM influences/encourages particular schema designs. When you no longer see tables as tables (which is storage) and rather see your database tables as instances of objects (how you would like to consume the data)
ORM (rails/AR in particular) makes it very diffcult to work with joins and build an object that read from multiple tables.
One workaround I think is to use database views. And see views as "instances of objects" and back ORM classes with them.