We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.

The latest version of the book is P6.0, released 2 months 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.

Key: Typo Tech. Error Suggestion Not a problem Next edition

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

(To find out what version you have, look at the copyright page, a few pages in from the front of the book. If it says (say) 'Second Printing', then here it'll be P2.0. If there are interim PDF releases in that printing, they'll be 2.1, 2.2, and so on.)

PDF Paper Description Found in Fixed in
7-1
#43547: 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 s...more...
P6.0
04-Jun-10
31

#42996: MySQL is included in InstantRails, not SQLite--LH Emmink

P5.0
27-Apr-10
32

#43695: rails dummy_app should read rails new dummy_app--Mark Horrocks

P6.0
09-Jun-10
68
#44024: I am using SQLite 3. Towards the end of the first paragraph (in parenthesis) its says, "And how will you find that table? The developm...more...
P4.0
10-Jul-10
81
#42929: 6.1 Iteration A1 in the paragraph discussing rake test "The are minimal at this point, but simply knowing that" instead of "They are minima...more...
P5.0
23-Apr-10
102
#43461: The session_store / DB / ActiveRecord setting no longer resides in environment.rb. (Using Rails 2.3.5.) For using the "ActionController::Ba...more...
P6.0
26-May-10
151
#43712: 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...more...
P6.0
11-Jun-10
163
#43363: Sorry if I'm mixed up here (I'm a newbie to RoR), but I believe that in 'password_non_blank' (in 'user.rb'), there's a missing colon before 'h...more...
P5.0
21-May-10
337
#43472: In the example for named scopes, the plural of the model is used ("Orders" instead of "Orders"): orders = Orders.last_n_days(7) Also on ...more...
P6.0
27-May-10
343

#43556: all is not a scope, it's a class method def which calls find :all - it doesn't return a scope proxy

P6.0
05-Jun-10
378
#43114: 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 ...more...
P5.0
06-May-10
479

#43901: The link to media.pragprog.com/ror/sessions in footnote 8 of chapter 22 gives a 404 error.--Steven Littiebrant

P6.0
27-Jun-10
506
#43519: link_to(:action => :delete, :confirm => "Are you sure?") will prevent spiders from executing the delete request, because a GET instead of (POS...more...
P6.0
31-May-10
523

#42994: 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

P5.0
27-Apr-10
560
#44050: The last part of the section on caching needs cleanup or more explanation: ActionController::Base.cache_store = <one of the following> ....more...
P6.0
11-Jul-10
610
#43527: delivery errors are not mentioned at all, tips on handling this seem v important for production where mail addresses may not exist & make the ...more...
P6.0
02-Jun-10
734

#43040: Index lists assert_not_match. Should be assert_no_match.

P5.0
01-May-10

Stuff To Be Considered in the Next Edition

PDF Paper Description Found in Fixed in
18
#41589: 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 a...more...
P1.0
21-Nov-09
114
#42012: 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% bo...more...
P4.0
05-Jan-10
137
#42022: 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 butto...more...
P1.0
08-Jan-10
171
#41917: 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 t...more...
P4.0
26-Dec-09
203
#41429: The i18n.t examples are leaving the colon out of the message, for example: <%= form.label :name, I18n.t('checkout.name') + ":" %> This sho...more...
P1.0
14-Nov-09
204
#41924: 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 f...more...
Sam Ruby says: There's a bug report on Rails open on this: https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/2409-activerecord-double-escapes-error_messages_for I plan to address this in the next edition.
P4.0
26-Dec-09
412
#42273: 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: ...more...
P5.0
08-Feb-10
563
#42439: 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 chapte...more...
P5.0
11-Mar-10
632
#42401: The description of nested resources in ActiveResource is missing a critical piece. The LineItem model in depot_client is not shown, most impor...more...
P5.0
02-Mar-10
657
#41595: The instructions for creating the empty git repository assume git has been installed on the git server. But the reader was not told to instal...more...
P1.0
22-Nov-09