small medium large xlarge

Errata for Agile Web Development with Rails (3rd edition)


The latest version of the book is P7.0, released about 5 years ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: P6.0 (04-Jun-10)
PDF page: 7-1
There isn't an option for the epub version. Any ways, on chapter 7 page 5 there are two links to figures "Flow of buyer pages" and "Flow of seller pa...more...
  • Reported in: P7.0 (11-May-11)
PDF page: 10
this book covers a lot less than version 3. I seem to be unable to find out about a lot of things such as STI, polymorphic model's, view select helpe...more...
  • Reported in: P7.0 (13-Jan-12)
PDF page: 75

git-repoconfig is deprecated in favor of git config:

git config --get-regexp user.*


  • Reported in: P6.0 (18-Aug-10)
PDF page: 76
On page 76 there is this code "ruby script/generate scaffold product \ title:string description:text image_url:string" It is expected that the user...more...
  • Reported in: P1.0 (06-Jun-12)
PDF page: 111
At the end of Iteration C1 after I click OK , I get the following error: ----------------------------------------------- NoMethodError in Store#add_...more...
  • Reported in: P7.0 (13-Mar-12)
PDF page: 150

it can be found in controller of order in create action that is called when you place order

  • Reported in: P7.0 (12-Oct-15)
PDF page: 166
Paper page: ">


  • Reported in: P7.0 (08-Dec-11)
Paper page: 168
In the first paragraph of section 11.4, the filename for the application controller is shown as "application.rb." I believe it should be "application_...more...
  • Reported in: P7.0 (09-Dec-11)
Paper page: 190
In the listing at the top of page 190, for application.rb, I believe there's a 'begin' keyword missing as the first line of the set_locale method. Th...more...
  • Reported in: P7.0 (09-Dec-11)
Paper page: 190
I believe the fourth line of the set_locale method should read: locale_path = "#{LOCALES_DIRECTORY}/#{I18n.locale}.yml" (notice there's a slash ...more...
  • Reported in: P7.0 (16-Dec-11)
Paper page: 193
In the listing of index.html.erb, change the text between the h1 tags to read 'layout.title' instead of 'main.title'. Also change the submit_tag line...more...
  • Reported in: P7.0 (09-Dec-11)
Paper page: 194
The es.yml and en.yml files are missing colons in front of most of the symbols. For example, "side:" needs to be ":side:". The symbols for home, que...more...
  • Reported in: P7.0 (21-Jan-11)
PDF page: 194
If I put the code on that page into layouts/store.html.erb exactly as it is then current locale isn't selected in the locales select box. At least in ...more...
  • Reported in: P7.0 (27-Aug-15)
PDF page: 211
I'm using Rails 4.2.3. The test directory structure has changed to: >ls -p test controllers/ fixtures/ helpers/ integration/ mailers/ models/ ...more...
  • Reported in: P7.0 (27-Aug-15)
PDF page: 214

The test code example uses error.invalid?() which has been since version 3 of Rails.--Donald J. Bales

  • Reported in: P6.0 (18-Aug-10)
PDF page: 279
Is it Rails 1.9 or Ruby 1.9? I don't think there is a Rails version 1.9. :-) "Finally, Rails provides an ActiveSupport::Multibyte::Chars and an mb_...more...
  • Reported in: P7.0 (22-Jan-11)
  • Fixed: 30-Aug-11, awaiting book release
PDF page: 280

"Seems to us that gooses is a verb, not a plural noun."

I'm not sure if this is appropriate.--Andrew Grimm

Dave Thomas says: (Dave Thomas: Then I feel sorry)
  • Reported in: P4.0 (12-Mar-11)
Paper page: 302

"ruby script/generate migration load_users_data"
should read:
"ruby script/generate migration load_user_data"--Allan Kinnaird

  • Reported in: P7.0 (30-Nov-10)
PDF page: 489
The following is incorrect: "If a before filter returns false, processing of the filter chain terminates, and the action is not run. A filter may a...more...
  • Reported in: P6.0 (23-Aug-10)
PDF page: 510
you cover the building of an XML template for products but the output generated is not consumable by ActiveResource After a lot of research it seems ...more...
  • Reported in: P7.0 (21-Apr-11)
PDF page: 648

it seems that the command "ruby script/plugin install ssl_requirement" does not work. The result of this is "Plugin not found: ["ssl_requirement"]" ?!

  • Reported in: P7.0 (16-Sep-10)
PDF page: 736
The index, on page 736, refers to a "breakpointer command" that is supposedly described on page 273. However there is no such reference on that page,...more...

Stuff To Be Considered in the Next Edition

  • Reported in: P6.0 (11-Aug-10)
PDF page: 0
Notice, I'm not completely sure as I'm really new in ruby. In the integration test "dsl_user_stories_test.rb" when defining the function user.has_a...more...
  • Reported in: P1.0 (21-Nov-09)
Paper page: 18
ERb is defined as "Embedded Ruby" on p. 18 but is not in the index, please add to index. P2.0 printing April 2009 Version: 2009-4-7, please add this ...more...
  • Reported in: P4.0 (05-Jan-10)
Paper page: 114
To produce the sans-serif cart title shown in the "screen-shot", the css for .cart-title needs to be "font: bold 120% sans-serif;". ("120% bold" fail...more...
  • Reported in: P1.0 (08-Jan-10)
PDF page: 137
For those who did the additional problem of linking using the book image. Here is the AJAX code to perform the same task as the new AJAX button: <%...more...
  • Reported in: P6.0 (11-Jun-10)
PDF page: 151
In save_order method no check for cart's emptiness. i may go to checkout and press "empy cart" button. and after pressing "place order" button, an ord...more...
  • Reported in: P4.0 (26-Dec-09)
PDF page: 171
As of the end of section 11.2 the admin_controller function is not working as intended in the case of erroneous logins. Having a seperate terminal ...more...
  • Reported in: P1.0 (14-Nov-09)
PDF page: 203
The i18n.t examples are leaving the colon out of the message, for example: <%= form.label :name, I18n.t('') + ":" %> This should be c...more...
  • Reported in: P4.0 (26-Dec-09)
PDF page: 204
On the use of UTF-8, HTML and Javascript... Page 194, section 13.1 states: "if you do this, just make sure that your editor is configured for UTF-8...more...
Sam Ruby says: There's a bug report on Rails open on this: I plan to address this in the next edition.
  • Reported in: P5.0 (06-May-10)
PDF page: 378
The section describing STI on page 377 lists the hierarchy of model objects. There is followed by fugure 19.2 at the top ofpage 378 followed by the l...more...
  • Reported in: P5.0 (08-Feb-10)
PDF page: 412
In the discussion of how to build a callback class and express it throughout all models, I think that a critical question is not addressed: (1) ho...more...
  • Reported in: P6.0 (31-May-10)
PDF page: 506
link_to(:action => :delete, :confirm => "Are you sure?") will prevent spiders from executing the delete request, because a GET instead of (POST) DELET...more...
  • Reported in: P5.0 (27-Apr-10)
PDF page: 523

In figure 23.1 I'd imagine that #5 should actually reference a create action rather than a save action for it to follow convention.--Zack Hubert

  • Reported in: P6.0 (11-Jul-10)
PDF page: 560
The last part of the section on caching needs cleanup or more explanation: ActionController::Base.cache_store = <one of the following> ... :m...more...
  • Reported in: P5.0 (11-Mar-10)
PDF page: 563
I think that this chapter is off from the general character and tenor of the rest of the book. It feels very much "bolted-on." The chapter opens ...more...
  • Reported in: P5.0 (02-Mar-10)
PDF page: 632
The description of nested resources in ActiveResource is missing a critical piece. The LineItem model in depot_client is not shown, most importantly t...more...
  • Reported in: P1.0 (22-Nov-09)
PDF page: 657
The instructions for creating the empty git repository assume git has been installed on the git server. But the reader was not told to install git. ...more...