It's probably a problem related to any framework with a lot of magic.
With Go and Phoenix, this problem is not there. They are very explicit, so when something unknown is found, it's written there what it does.
With rails there are things going on at all time: write a record? Some stuff is written on the db, other stuff is triggered, some stuff depends on thread variables, then other stuff is magically saved in other tables, other is updated (touched), which in turn might trigger more things.
It is painful for a new developer because all of this happens implicitly.
Coming from a systems background, I might have a higher tolerance for "implicit" actions. They're always there, and almost never covered in code, although your code depends on them to function.
But I think I understand your point. You can ask a neighbor to "run to the market to get bread and milk" and expect reasonable results -- but you'll need to be more explicit with a foreign visitor.
Rails optimizes for neighbors, but in fairness the phrasebook and guidebooks are excellent. :)
You get used to it, but it shouldn't be like that