I think why magic looks like magic is because there is no obvious explanation for what it's doing, e.g. something in rails somewhere is using reflection to pick up something based only on a naming convention. You have to more or less know about the naming convention in advance in order to know where to look up more about what it's doing.
I think some people feel like rails went a little overboard on things like this.
I think some people feel like rails went a little overboard on things like this.