Convention over configuration.
WHAT ITS PRINCIPLE IS
Sensible defaults, so that following convention requires almost no configuration.
WHAT IT PROVIDES
An ORM using the active record pattern Migrations Routing Templating Background jobs Testing tooling Generators producing structure
WHAT THAT PRODUCES
Very rapid development for applications fitting its conventions.
WHAT IT COSTS
Working against conventions is difficult Magic behaviour that is difficult to trace when it surprises you
WHAT THE STRUCTURE IS
Models, views and controllers, in prescribed locations.
WHAT TO KEEP THIN
Controllers.
WHAT TO AVOID
Very large models, which accumulate everything.
WHAT TO USE INSTEAD
Service objects, or extracted modules.
WHAT TO BE CAREFUL WITH
Callbacks on models, which create hidden behaviour The query-per-item fault, here as everywhere Gems added freely, each with dependencies
WHAT IT SUITS
Applications fitting conventional patterns Small teams needing speed
WHAT TO ESTABLISH
Whether hosting supports the runtime and background processes.