Rails 2.3.6 addendum

May 23, 2010 • posted by Michael Hartl

It looks like I was a bit hasty in declaring my Rails 2.3.6 tutorial test suite green. One test actually fails, the integration test for user signup, which includes a test for the success flash notice using response.should have_tag("div.flash.success"). This code, introduced in Listing 8.22 and included again incidentally as part of Listing 11.41, can be fixed simply by removing (or commenting out) the offending line. (Of course, the tutorial has been updated accordingly.)

To be clear, the application code still works fine; it's just the test that breaks, and there's nothing to be done (short of patching Rails) other than just axing the line. If you find this "solution" unsatisfying, that makes two of us. Unfortunately, minor Rails point releases sometimes break little things like this—indeed, the 2.3.4 to 2.3.5 upgrade broke a similar flash test in a client project, and the test is currently commented out with the note "Rails 2.3.5 broke this." Luckily, this particular test isn't all that important, but it is irritating nonetheless. Unfortunately, this is the price we pay for living on the bleeding edge…