Rails 3 Resources
Rails 3.0
While we get some momentum back here at EdgeRails.info I thought it’d be a good time to spotlight all the other great posts out there regarding new features in Rails 3. There are a lot of changes, both internally and externally, so buckle up:
Overviews
Here are some good overview posts that will wet your appetite for the juicier technical details below…
Yehuda, da man, has a few good writeups:
Jeremy McAnally has done a lot of work writing about Rails 3 (finally, dude, where ya been?) and has these writeups:
ActiveRecord/ActiveModel
ActiveRecord, while no longer the only persistence framework in town thanks to Rails’ new ORM agnosticism, has gotten a lot of love. Not only have validations and other non core-persistence functionality been pulled out into a new ActiveModel component but ActiveRecord itself now has a much more flexible, chainable and flexible API. You will like this.
A little about ActiveModel:
- Yehuda gives the lowdown on ActiveModel
- I talk a little bit more about the new independent validators
- Validations get sexy
- Some more validation goodness
And some meat and potatoes on ActiveRecord.
- Pratik talks about the new query interface
- Nick Kallen lays some heavy details about the making of the new query interface
ActionController
RESTful support has made it’s way from the routing layer and is now embedded deep into ActionController now:
- I run down the new respond_to RESTful response mechanism
- Jose Valim, the author, goes into more detail about the new RESTful controller support
- Jose adds some examples on the rails blog
- Yehuda explains the new render options
Routing
Routing, one of the hairier, and slicker, parts of the Rails stack has a slightly modified API and a very direct way to address rack mini-apps. Read about it here:
- Mikel Lindsaar continues his assault on the Rails scene with this great example of how to run a Sinatra app within Rails
- Yehuda gives a great overview of the new routing config
- Rizwan Reza gets down and dirty with some example routing blocks
- Yehuda talks about support for generic actions
ActionMailer
Even the black sheep of the family gets some attention now and then:
Gem Bundler
Rails 3 comes with a whole new way of specifying, loading and managing gem dependencies: the new gem bundler which was developed in parallel with the new version of Rails and replaces what you’re used to seeing as a bunch of config.gem statements:
- Mikel (you should now be on a first name basis with him by now) has a very complete rundown of the new bundler features
- Yehuda, one of the bundler project committers, gives a nice narrative of the bundler features
- Yehuda continues with some real world examples
Railties
Like Thanksgiving leftovers, railties are a grab-bag of goodies:
- Nick Quaranto talks about the new Rails module (no more RAILS_XXX constants)
- Paul Barry talks about creating customized generators
- Amp your generators using Thor
- Ben Scofield shows you how to create module app templates
There’s a new kid in town in Rails 3 - instrumentation. There’s not been much written about it yet but here are few nibbles to get you going:
- Gavin Stark writes about using instrumentation to log SQL calls
- The subscriber class is the main facilitator of instrumentation so give it a look
Plugins
A whole lot of effort was put into making the internal API of Rails much cleaner. Cleaner to the point that monkey-patching should be a thing of the past. One of the main benefactors of this are plugins, which have a whole new way of integrating with Rails apps:
- Yehuda gives you the lowdown on the official rails blog
- Yehuda gives you the behind the scenes take on plugins
- Nicolas Merouze shows you plugin developers out there how to upgrade your goodies
- EngineYard has set up a plugins listing site to publicize which are (and are not) Rails 3 compatible
Upgrading
Whew! If you’ve gotten to this point you may be wondering how to stitch this all together and make your now crusty Rails 2.3 app a good looking Rails 3 stud? Thankfully, you’re not alone.
Jeremy McAnally has been busting his hump to bring you the latest on upgrading:
And everybody’s favorite screencaster live codes an upgrade.
Rails 3 represents a huge amount of work, both in internal and external improvements. A big congrats to the whole team and to the community for providing such great content about these changes.
Let me know if I missed any great posts that you’ve found helpful, I know there are at least a few out there…