Notes on a Rails 3 upgrade

Most scary output from console is warning rather than error.

RSpec 2 doesn’t have have_tag method. Now using webrat’s have_selector.

Plugin to help with upgrade only relevant to Rails 2 project, which seems silly.

Should use ‘extend ActiveModel::Naming’ in non-ActiveRecord classes used with view helpers that do record introspection e.g. form_for.

right_aws gem clobbers ActiveSupport 3, must use mikel fork

cucumber wasn’t following redirects. used this fork of webrat.

Builder needed requiring in application_helper, as I was using it to build markup.

Machinist 2 is a big change, but probably worth it. Cucumber needs database

Strange problem with matcher. I’d written matcher to allow ‘blah.should save’,
which clobbered ActiveRecord’s actual save method! Very specific, but worth
checking if you’re doing anything funky like that.

Routes were a breeze.

Array#sample rather than Array#rand

spec.opts now .rspec in Rails.root or ~/

Liking the enforced declarative style for validations.

email_spec had changed, features needed upgrading

#fullpath instead of #request_uri

Write more blog posts in shorthand!