Channels ▼

Nick Plante

Dr. Dobb's Bloggers

Rails 2.3: What's New?

March 15, 2009

Rails 2.3 is out (actually, 2.3.2). I thought I'd take a few quick moments to summarize for DDJ readers the new and noteworthy features that make this a stellar release.

Most importantly, from my point of view, Rails now runs on Rack, a standard WSGI-ish Ruby network stack. Aside from being a good unifying architectural move, this also means that Rails now has access to Rack middleware. You can leverage this directly through "Rails Metal", which allows you to bypass Action Controller and handle requests directly -- basically a thin wrapper around Rack with access to the session. Metal is useful for optimizing certain actions (like polling services) that need to be fast and don't need the overhead of the full MVC stack.

The new application templates feature in Rails is also really useful, particularly to those of us that run consulting shops and have been maintaining default blank slate applications that include a standard suite of gems, configs, plugins, JavaScript libraries, and so on. Now you can easily accomplish the same thing using templates, but in a much more flexible way. Check out the collection of templates maintained by Jeremy McAnally (original author of Rg, from which this feature was taken) or you can also generate a template with ease now using RailsBoost courtesy of Hampton Catlin and Robert Pitts. Slick.

Another notable feature in 2.3 is the return of Rails Engines (formerly a plugin, now in core). Engines allow developers to share reusable vertical application slices complete with routes, models, views, etc that are all self-contained. Imagine dropping a forum engine or a shopping cart or image gallery 'slice' into your existing application, for instance.

Finally, Rails also includes a number of other progressive enhancements, such as the new nested attributes work that makes dealing with complex forms a lot easier, default scopes for your models, and http digest authentication support, among other features. If you want to read more, check out the full release notes

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.