This document summarizes a talk about Rails frameworks. It discusses that while Rails is useful, it can lead developers to mix model, view and controller responsibilities in code. The talk suggests separating persistence logic from business logic by pulling behavior out of models and into other objects. It emphasizes writing clean, testable code and not letting Rails limit one's software design skills. Examples of alternative architectures like Facades and Mediators are briefly mentioned. The talk concludes by providing example code and resources for separating concerns in Rails applications.
27. Why?
Dude. I gotta get shit done.
If you don’t have time to do it right, when will you have time to do it
over? John Wooden
The only way to make the deadline -- the only way to go fast -- is to
keep the code as clean as possible at all times. Robert C. Martin
35. The word on the street
We need something better. Persistence and logic are two separate
responsibilities that every rails app combines. Steve Klabnik
I pull the behavior out of my models into other objects that wrap the
models. I prefer to make the AR objects simple wrappers around the db-
access stuff in AR.
Corey Haines
38. Resources
Example Rails app
https://github.com/collinschaafsma/loyd
Example Sinatra app
https://github.com/collinschaafsma/slimfit
More resources
https://gist.github.com/1934139
@collinschaafsma