You don't have to sacrifice flexibility of Rails and turn Ruby code into Java-like code that fights against the framework.
This book describes integral approach to Rails application development that solves most painful problems of growing apps. It relies on principles of layered architecture, semantic abstractions and meaningful hierarchies.