<?xml version="1.0" encoding="UTF-8"?>
<errata type="array">
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-28T06:40:17-07:00</created-at>
    <created-by>Joseph Erickson</created-by>
    <description>When showing the regular expressions on validating, they are being misformatted in the mobipocket version.

Instead of showing as %r{(\.(gif|jpg|png)$}i  They show as:

%
\.(gif|jpg|png)$}i</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38583</id>
    <paper-page></paper-page>
    <pdf-page>?</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>76.244.148.108</remote-ip>
    <sorting-key type="integer">-101000</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-06-24T05:18:44-07:00</created-at>
    <created-by>Ron Colcernian</created-by>
    <description>I have tried and tried to print the errata page on my color printer so i would have a printed copy of the color coding for tech, error, suggestion, etc. and I can only get a black and white version would be nice if I could print a color version the errata page, which btw is great!!!</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39633</id>
    <paper-page></paper-page>
    <pdf-page>0</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>173.10.34.145</remote-ip>
    <sorting-key type="integer">0</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-15T10:51:32-07:00</created-at>
    <created-by></created-by>
    <description>The book states that "because InstantRails 2.0 is a single download that contains Ruby, Rails, SQLite 3 (version 3.5.4 at
the time of writing), and all the gubbins needed to make them work together."

True, but a bit confusing IMHO. Instant Rails 2.0 also bundles MySql, and doesn't advertise its bundling of sqllite on their site. I was taken aback when installing it</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38361</id>
    <paper-page></paper-page>
    <pdf-page>31</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">31</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-02-27T12:45:04-08:00</created-at>
    <created-by>Camille Palmer Bell</created-by>
    <description>Before the MacPorts package can be installed, the Xcode developer tools must be installed.

Pages 8-10 of the Mac OS X Leopard Portable Genius provides instructions for finding and installing the Xcode tools. The authors should either point readers to that source, another good source or provide similar instructions.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38019</id>
    <paper-page></paper-page>
    <pdf-page>35</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>71.191.111.149</remote-ip>
    <sorting-key type="integer">35</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments>"gem server: is the preferred form</author-comments>
    <author-name>Dave Thomas</author-name>
    <bug-type>OK</bug-type>
    <created-at type="datetime">2009-03-23T18:57:16-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>In the footnote (footnote 5), "gem server" should be "gem_server".</description>
    <fixed-on type="datetime">2009-04-21T06:26:39-07:00</fixed-on>
    <id type="integer">38490</id>
    <paper-page></paper-page>
    <pdf-page>40</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">40</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-02-28T17:37:46-08:00</created-at>
    <created-by>Adam Altman</created-by>
    <description>when I write:
 &gt;   ruby script/server
(on mac osx with rails 2.2.2)
It boots Mongrel, not WEBrick.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38042</id>
    <paper-page></paper-page>
    <pdf-page>45</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>69.234.126.47</remote-ip>
    <sorting-key type="integer">45</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-17T02:26:59-07:00</created-at>
    <created-by>Lasse Bunk</created-by>
    <description>Shouldn't the new "def goodbye...end" have triangles in the gutter?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39200</id>
    <paper-page></paper-page>
    <pdf-page>58</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>90.184.25.228</remote-ip>
    <sorting-key type="integer">58</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-29T10:12:51-07:00</created-at>
    <created-by>Lindsay Gillies</created-by>
    <description>Second paragraph, " (In Rails, we call methods that make it easier 
to write templates helpers.)"---"templates" should be singular or plural possessive (templates')...
You should add an erratum type for "copy edit" ;-)</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38618</id>
    <paper-page></paper-page>
    <pdf-page>60</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>98.216.59.198</remote-ip>
    <sorting-key type="integer">60</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-04-01T09:23:44-07:00</created-at>
    <created-by>Spikes</created-by>
    <description>The following line "timeout: tells the SQLite 3 database adapter how long you are willing to wait ..." specifically refers to 'SQLite 3'. This section is discussing using a different database  from the default SQLite database so perhaps this specific reference to SQLIte 3 should be removed? </description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38669</id>
    <paper-page>65</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>86.143.61.196</remote-ip>
    <sorting-key type="integer">65</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-01T09:35:36-07:00</created-at>
    <created-by>Spikes</created-by>
    <description>The line "Weapply these migrations to update our database ..." needs a space between 'We' and 'apply'.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38670</id>
    <paper-page>67</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>86.143.61.196</remote-ip>
    <sorting-key type="integer">67</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-24T19:21:05-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>The fourth paragraph on this page ends "If this applies to you, simply skip ahead to Section 6.1, Con&#64257;guring the Application". But we are already in section 6.1, and the unnumbered heading "Configuring the Application" is only a few lines further down. The reader just needs to skip the database creation step about to be described, picking up again from "Configuring the Application".</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38503</id>
    <paper-page></paper-page>
    <pdf-page>70</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">70</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-02-24T12:33:27-08:00</created-at>
    <created-by>James Ross</created-by>
    <description>The first paragraph on this page has an unnecessary apostrophe+s after the first word which is "There". It currently reads:
"There&#8217;s are a few additional parameters that may or may not appear in your
default database.yml file." but should read:
"There are a few additional parameters that may or may not appear in your
default database.yml file."</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37915</id>
    <paper-page></paper-page>
    <pdf-page>73</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>121.219.128.12</remote-ip>
    <sorting-key type="integer">73</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-24T19:29:22-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>Sadly it appears that the recent rework of the Rails wiki has removed the page (Mysql+Connection+Problems) referred to in the footnote.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38504</id>
    <paper-page></paper-page>
    <pdf-page>74</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">74</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-10T09:35:55-07:00</created-at>
    <created-by></created-by>
    <description>In the second-to-last paragraph of section 6.2, "Weapply" should be "We apply".</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38291</id>
    <paper-page></paper-page>
    <pdf-page>75</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>146.115.59.21</remote-ip>
    <sorting-key type="integer">75</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-24T21:04:19-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>Footnote 5 says "Windows users will need to put the entire command on one line, without the backslash." The caret ('^') character can be used as a continuation character on the Windows command line.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38506</id>
    <paper-page></paper-page>
    <pdf-page>76</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">76</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-06-23T00:39:48-07:00</created-at>
    <created-by>David M Walker</created-by>
    <description>The command 'ruby script/generate scaffold product title:string description:text image_url:string' should be the burgundy colour rather than blue 8 lines from the top
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39612</id>
    <paper-page></paper-page>
    <pdf-page>76</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>78.86.96.118</remote-ip>
    <sorting-key type="integer">76</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-05-17T03:42:35-07:00</created-at>
    <created-by>Lasse Bunk</created-by>
    <description>Current scaffolding uses "@products.each do |product|" instead of "for product in @products".</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39201</id>
    <paper-page></paper-page>
    <pdf-page>81</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>90.184.25.228</remote-ip>
    <sorting-key type="integer">81</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-02-11T12:05:58-08:00</created-at>
    <created-by>Ted Roche</created-by>
    <description>"Note that before we compare the price to 0.01, we first check to see whether it&#8217;s nil. This is important: if the user leaves the price field blank, no price will be passed from the browser to our application, and the price variable won&#8217;t be set. If we tried to compare this nil value with a number, we&#8217;d get an error."

That would be true, except that you're already testing for numericality. If you leave the field blank, the form errors on the 'not a number' validation. </description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37666</id>
    <paper-page></paper-page>
    <pdf-page>88</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>98.217.44.206</remote-ip>
    <sorting-key type="integer">88</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-09T15:33:28-07:00</created-at>
    <created-by>Terry Roe</created-by>
    <description>First line:  "New actions must go before the protected line."  We're working in a model, so methods wouldn't be considered actions, would they?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38277</id>
    <paper-page></paper-page>
    <pdf-page>88</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>69.145.230.92</remote-ip>
    <sorting-key type="integer">88</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-28T17:38:17-07:00</created-at>
    <created-by>Eric Litwin</created-by>
    <description>The current code routines 2 errors if you leave Price blank.
I suggest changing the validation for Price &gt; 0 to the following:

def price_must_be_at_least_a_cent
   errors.add(...) if !price.nil? &amp;&amp; price &lt; 0.01
end
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38592</id>
    <paper-page></paper-page>
    <pdf-page>88</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>75.83.21.186</remote-ip>
    <sorting-key type="integer">88</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-02-24T19:56:34-08:00</created-at>
    <created-by>Mark Davoren</created-by>
    <description>Creating a test data migration really deserves a section of its own rather than being included in "Prettier Listings"

Mark.
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37925</id>
    <paper-page></paper-page>
    <pdf-page>89</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>24.130.63.181</remote-ip>
    <sorting-key type="integer">89</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-01T20:47:26-07:00</created-at>
    <created-by>Alexandros Kontoulis</created-by>
    <description>I tried to populate the table with greek data (greek letters) but rake failed to migrate. I tried single quotes, double quotes and %{...} but no success. With english is ok.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39054</id>
    <paper-page></paper-page>
    <pdf-page>90</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.118.206.79</remote-ip>
    <sorting-key type="integer">90</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments>If we did that'd we'd then get people saying "how can I know where line 17 is: please put numbers on..."

My suggestion: download the whole tarball once: then you'll have all the code available to you offline.


Regards


Dave</author-comments>
    <author-name>Dave Thomas</author-name>
    <bug-type>OK</bug-type>
    <created-at type="datetime">2009-02-28T15:09:17-08:00</created-at>
    <created-by>Rogier Hof</created-by>
    <description>I'm currently using the PDF version of the book to Copy &amp; Paste the code into TextMate adn work with it. This is often in off-line conditions, so downloading from PragProg is no option.

Suggestions:
1 - please remove the line numbers/dashes, or reformat the PDF in such a way that the clear code can met Copied;
2 - do not place references directly next to the code, as on PDF-page 110, (or again, do it in such a way that the clear code can met Copied);
3 - include spaces in the code so the code formatting is maintained while Copying.

Thanks &amp; Keep up the Good Work!

Rogier Hof
</description>
    <fixed-on type="datetime">2009-04-07T12:30:25-07:00</fixed-on>
    <id type="integer">38040</id>
    <paper-page></paper-page>
    <pdf-page>91</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>80.61.3.72</remote-ip>
    <sorting-key type="integer">91</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-05-17T04:22:21-07:00</created-at>
    <created-by>Lasse Bunk</created-by>
    <description>"See how it has the parameter :con&#64257;rm =&gt; 
"Are you sure?"." should be changed to "See how it has the parameter :con&#64257;rm =&gt; 
'Are you sure?'." (single quotes) to reflect the actual code.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39202</id>
    <paper-page></paper-page>
    <pdf-page>93</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>90.184.25.228</remote-ip>
    <sorting-key type="integer">93</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-05-17T04:24:22-07:00</created-at>
    <created-by>Lasse Bunk</created-by>
    <description>Under explanation of the Destroy link_to: "Also, see the sidebar on this page for some scoop on this action." -- there is no sidebar on this page.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39203</id>
    <paper-page></paper-page>
    <pdf-page>93</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>90.184.25.228</remote-ip>
    <sorting-key type="integer">93</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-17T09:56:21-07:00</created-at>
    <created-by></created-by>
    <description>after inputting this statement "ruby script/generate controller store index", safari wouldn't show expected page but a message saying "No route matches "/store" with {:method=&gt;:get}". I fixed this by add "map.resources :store" in /config/routes.rb</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39207</id>
    <paper-page></paper-page>
    <pdf-page>96</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>210.41.86.52</remote-ip>
    <sorting-key type="integer">96</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">936</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-06-04T08:14:23-07:00</created-at>
    <created-by>Felixaa</created-by>
    <description>Is not neccesary --&gt; #39207: after inputting this statement "ruby script/generate controller store index", safari wouldn't show expected page but a message saying "No route matches "/store" with {:method=&gt;:get}". I fixed this by add "map.resources :store" in /config/routes.rb.
Just Restart Rails webserver.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39315</id>
    <paper-page></paper-page>
    <pdf-page>96</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>84.120.154.189</remote-ip>
    <sorting-key type="integer">96</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-05-17T04:45:39-07:00</created-at>
    <created-by>Lasse Bunk</created-by>
    <description>Change "for product in @products" to "@products.each.do |product|" to reflect the "new" (?) way of doing this.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39204</id>
    <paper-page></paper-page>
    <pdf-page>97</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>90.184.25.228</remote-ip>
    <sorting-key type="integer">97</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-06-04T12:19:13-07:00</created-at>
    <created-by>felixaa</created-by>
    <description>delete dot after "each" --&gt; #39204: Change "for product in @products" to "@products.each.do |product|" ... 
"for product in @products" to "@products.each do |product|"</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39316</id>
    <paper-page></paper-page>
    <pdf-page>97</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>84.120.154.189</remote-ip>
    <sorting-key type="integer">97</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-25T09:11:44-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>The downloadable store.html.erb layout contains some "technical" HTML commnents, e.g. &lt;!-- &lt;label id="code.depot.e.include"/&gt; --&gt;

Also, we saw the scaffold-generated template for products earlier, and that just used "yield" without the :layout parameter. Should you explain the difference?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38516</id>
    <paper-page></paper-page>
    <pdf-page>99</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">99</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-01T14:36:19-07:00</created-at>
    <created-by></created-by>
    <description>Latest rails is 2.3.2
get rails3-code.zip, then unzip.
Then go to "pragforms",
set RAILS_GEM_VERSION to 2.3.2
and tried to start the server, but could not do it.
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39051</id>
    <paper-page>100</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>199.46.196.233</remote-ip>
    <sorting-key type="integer">100</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-06T10:40:59-07:00</created-at>
    <created-by></created-by>
    <description>"On line 11, we set the page heading to the value in the instance variable @page_title." Line 11 doesn't assign to @page_title. Rather, "Pragmatic Bookshelf" is displayed to the right of the image, which would imply that @page_title evaluates to nil when line 11 is executed, and a fallback string is used.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39124</id>
    <paper-page></paper-page>
    <pdf-page>100</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>129.55.200.20</remote-ip>
    <sorting-key type="integer">100</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-28T19:10:28-07:00</created-at>
    <created-by>Kedar Mhaswade</created-by>
    <description>Paragraph #2

Shouldn't the last sentence be: Otherwise a new Cart object is created and assigned to the :cart key in the session hash? (rather than assigned to the session).</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39024</id>
    <paper-page>101</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>68.183.228.195</remote-ip>
    <sorting-key type="integer">101</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-25T09:30:09-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>When introducing the number_to_currency helper for price display, it would be prudent to escape the result.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38517</id>
    <paper-page></paper-page>
    <pdf-page>102</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">102</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-05-17T05:01:50-07:00</created-at>
    <created-by>Lasse Bunk</created-by>
    <description>Why the switching between double and single quotes? Would be nice to know when to use what. On this page button_to uses double quotes where previously link_to uses single quotes.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39205</id>
    <paper-page></paper-page>
    <pdf-page>103</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>90.184.25.228</remote-ip>
    <sorting-key type="integer">103</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-17T05:06:31-07:00</created-at>
    <created-by>Lasse Bunk</created-by>
    <description>Figure 7.3: In Firefox each product has a vertical scroll bar, probably because of the #store .entry { overflow: auto; ..} Change this to "overflow: hidden;" and it works. </description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39206</id>
    <paper-page></paper-page>
    <pdf-page>104</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>90.184.25.228</remote-ip>
    <sorting-key type="integer">104</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-02-28T14:23:48-08:00</created-at>
    <created-by>Jay Casler</created-by>
    <description>Figure 7.3 shows "Add to Cart" button rendering next to the price but for me it renders below the price (Rails 2.2.2 on Safari &amp; Firefox)
Could not figure out how to get it to render as displayed (which would be desirable)</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38036</id>
    <paper-page></paper-page>
    <pdf-page>104</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>173.95.136.232</remote-ip>
    <sorting-key type="integer">104</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-05-06T11:44:24-07:00</created-at>
    <created-by></created-by>
    <description>"Be sure to include :method =&gt; :post in your html_options on your call to link_to."

According to the API (api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#M001565), :method is an option, not an html_option.

PS -- I also think it would be better to add the action add_to-cart in this chapter, even if it's just a stub. You could make it raise "UNIMPLEMENTED" or somesuch.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39126</id>
    <paper-page></paper-page>
    <pdf-page>104</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>129.55.200.20</remote-ip>
    <sorting-key type="integer">104</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-06-26T19:17:06-07:00</created-at>
    <created-by>Reed Law</created-by>
    <description>The line
config.action_controller.session_store = :active_record_store
which is supposed to be in environment.rb is no longer there. Instead, this line
ActionController::Base.session_store = :active_record_store
should be uncommented in config/initializers/session_store.rb</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39687</id>
    <paper-page></paper-page>
    <pdf-page>107</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>218.28.247.131</remote-ip>
    <sorting-key type="integer">107</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-22T15:18:13-07:00</created-at>
    <created-by>Tal Shrestha</created-by>
    <description>In the recent rais release the default seems to be using a database, so this paragraph is not up to date (i think).
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38462</id>
    <paper-page></paper-page>
    <pdf-page>107</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>84.108.82.174</remote-ip>
    <sorting-key type="integer">107</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-22T21:37:26-07:00</created-at>
    <created-by></created-by>
    <description>I'm running Rails 2.3.2.  After uncommenting "ActionController::Base.session_store = :active_record_store" in session_store.rb, I started getting "ActionController::InvalidAuthenticityToken" error messages (as mentioned by another poster).  Adding "protect_from_forgery :only =&gt; [:create, :update, :destroy]" to store_controller.rb and products_controller.rb eliminated the InvalidAuthenticityToken error when adding a product to the cart, but did not eliminate the error when creating or updating a product.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38468</id>
    <paper-page></paper-page>
    <pdf-page>108</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>97.113.4.78</remote-ip>
    <sorting-key type="integer">108</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-24T08:08:41-07:00</created-at>
    <created-by></created-by>
    <description>The InvalidAuthenticityToken error messages mentioned by others can be avoided if the developer clears his/her cookies.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38493</id>
    <paper-page></paper-page>
    <pdf-page>108</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>97.113.4.78</remote-ip>
    <sorting-key type="integer">108</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-25T10:28:08-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>For Rails 2.3, the configuration of the :session_key and :secret described at the top of this page have (like the choice of session store covered on the previous page) moved to config/initializers/session_store.rb</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38518</id>
    <paper-page></paper-page>
    <pdf-page>108</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">108</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-06-02T22:05:48-07:00</created-at>
    <created-by></created-by>
    <description>mine is the P1.0 PDF printing - Task C: Cart Creation on Sessions talks about protect_from_forgery in /app/controllers/application.rb referring to a commented out :secret parameter for the protect_from_forgery line. Version 2.3.2 of rails does not make any reference to :secret here... also as others have noted 2.3.2 also places the session_store configurations mentioned in the previous section under config/initializers/session_store.rb

Clarification on the protect_from_forgery :secret parameter would be nice here. </description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39306</id>
    <paper-page></paper-page>
    <pdf-page>108</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>207.229.180.32</remote-ip>
    <sorting-key type="integer">108</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-17T12:32:09-07:00</created-at>
    <created-by>Steven Rummel</created-by>
    <description>After updating application.rb to complete the setup for using cookies, the next section 'Carts and Sessions' does not guide the user back to the store_controller.rb file. As previous examples tell the user which file to update, omitting this detail suggests to the reader that application.rb is being updated with find_cart, which may be counterintuitive to an experienced coder, but confusing for a newbie. I'm a newbie, so I had to dig through the example code to find out where the find_cart method went, and once I did, it was obvious why - but not until.

Just my $0.02. Otherwise, so far so good. Many thanks.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38379</id>
    <paper-page></paper-page>
    <pdf-page>108</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>204.75.125.135</remote-ip>
    <sorting-key type="integer">108</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-02-27T01:47:16-08:00</created-at>
    <created-by>James Ross</created-by>
    <description>The first paragraph has incorrect spelling for "choosing" which appears as "chosing"</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38011</id>
    <paper-page></paper-page>
    <pdf-page>109</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>121.219.128.12</remote-ip>
    <sorting-key type="integer">109</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-09T21:33:40-07:00</created-at>
    <created-by></created-by>
    <description>It is not clear here if store_controller.rb should be edited directly or created with script/generate controller store, because that's how controller.rb's were created up to this point.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38282</id>
    <paper-page></paper-page>
    <pdf-page>109</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>67.188.92.248</remote-ip>
    <sorting-key type="integer">109</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-01T02:22:30-08:00</created-at>
    <created-by>Adam Altman</created-by>
    <description>I received a message when adding to cart that my key did not match.  I tried restarting the server.  However, the solution that worked was for me to delete my session cookie (it must have had some older bad info in it).</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38060</id>
    <paper-page></paper-page>
    <pdf-page>109</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>69.234.126.47</remote-ip>
    <sorting-key type="integer">109</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-09T21:31:20-07:00</created-at>
    <created-by></created-by>
    <description>"Observant readers (yes, that&#8217;s all of you) will have noticed that our catalog listing view already includes an Add to Cart button for each product." Wait. This is never mentioned before. index.html.erb is only discussed later in this page. Am I missing a page here?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38281</id>
    <paper-page></paper-page>
    <pdf-page>110</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>67.188.92.248</remote-ip>
    <sorting-key type="integer">110</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments>To "tart up" is to make pretty cosmetically.</author-comments>
    <author-name>Dave Thomas</author-name>
    <bug-type>OK</bug-type>
    <created-at type="datetime">2009-03-05T12:38:06-08:00</created-at>
    <created-by>Andrew Demey</created-by>
    <description>Right before the first code example:
"(we&#8217;ll tart it up in a minute)"</description>
    <fixed-on type="datetime">2009-04-21T06:05:20-07:00</fixed-on>
    <id type="integer">38196</id>
    <paper-page></paper-page>
    <pdf-page>112</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>207.179.80.26</remote-ip>
    <sorting-key type="integer">112</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-25T12:03:30-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>For CartItem, it would be good to explain in the text that the file name should be cart_item.rb. At present the reader has to look at the Download link to see this.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38519</id>
    <paper-page></paper-page>
    <pdf-page>112</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">112</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-22T21:50:19-07:00</created-at>
    <created-by>rob terhaar</created-by>
    <description>You're missing a 3rd 'end' on your cart.rb </description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38469</id>
    <paper-page></paper-page>
    <pdf-page>113</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>72.227.129.108</remote-ip>
    <sorting-key type="integer">113</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-01T10:48:17-08:00</created-at>
    <created-by>Adam Altman</created-by>
    <description>I can't figure out from the text how the application decides to store application data (cart and cart_item) in the session?  Does attr_reader specify this?  Or is it because we didn't specify to use a database (by inheriting the activerecord class) for this model?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38064</id>
    <paper-page></paper-page>
    <pdf-page>115</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>69.234.126.47</remote-ip>
    <sorting-key type="integer">115</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-15T11:22:54-07:00</created-at>
    <created-by>Mark Latham</created-by>
    <description>You could add a footnote onto the last sentence of this page (which is "This time, when we manually enter the invalid product code, we see the error
reported at the top of the catalog page.
"), something like:
"You may need to refresh your browser's view of the store page in order to see the formatting for the error message."</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38362</id>
    <paper-page></paper-page>
    <pdf-page>119</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>24.85.86.192</remote-ip>
    <sorting-key type="integer">119</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments></author-comments>
    <author-name>Dave Thomas</author-name>
    <bug-type>OK</bug-type>
    <created-at type="datetime">2009-03-25T12:47:49-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>" She notices a minor problem on our new cart display&#8212;there&#8217;s no way to empty items out of a cart."

There's a deficiency she must have noticed before this - there's no 'Continue shopping' link!</description>
    <fixed-on type="datetime">2009-04-21T06:05:51-07:00</fixed-on>
    <id type="integer">38520</id>
    <paper-page></paper-page>
    <pdf-page>120</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">120</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-09T21:28:19-07:00</created-at>
    <created-by>DA</created-by>
    <description>Missing the arrows in the code sample to show the lines of code that have been added to store.html.erb.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38280</id>
    <paper-page></paper-page>
    <pdf-page>120</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>157.252.132.216</remote-ip>
    <sorting-key type="integer">120</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-25T13:14:58-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>In the new stylesheet fragment, the comment 

/* Styles for the cart in the main page */

is premature! The cart has its own page at present.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38521</id>
    <paper-page></paper-page>
    <pdf-page>122</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">122</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-05-18T10:49:55-07:00</created-at>
    <created-by>Lasse Bunk</created-by>
    <description>respond.to do .. is indented more than the lines before.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39209</id>
    <paper-page></paper-page>
    <pdf-page>135</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>90.184.25.228</remote-ip>
    <sorting-key type="integer">135</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-18T10:57:17-07:00</created-at>
    <created-by>Lasse Bunk</created-by>
    <description>On page 126 you tell us that variables shouldn't be passed as globals. But now you pass @current_item as a global variable down to the cart_item partial. I can see why this could be okay because the variable isn't actually required - but is this the right way to do it?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39211</id>
    <paper-page></paper-page>
    <pdf-page>135</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>90.184.25.228</remote-ip>
    <sorting-key type="integer">135</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-05-11T11:57:54-07:00</created-at>
    <created-by></created-by>
    <description>I have been doing the exercises suggested at the end of this chapter. At this point (getting the highlight and blind_down effects working), an earlier exercise broke.

The exercise was "link the product image to the add_to_cart action", which had been working fine with the following addition to index.html.erb:
      &lt;%= link_to image_tag(product.image_url),
                  :method =&gt; :post,
                  :action =&gt; "add_to_cart",
                  :id =&gt; product %&gt;

This now causes a javascript error, and the WEBrick log has a confusing entry:


155.34.244.61 - - [11/May/2009:14:47:19 EDT] "GET /store/add_to_cart/2?method=post HTTP/1.1" 200 1553
h t t p ://fs2:3000/store -&gt; /store/add_to_cart/2?method=post

This shouldn't be a GET but a POST. Does the inclusion of Javascript libraries change the behavior of the link_to tag? A footnote or hyperlink to a reference for link_to would be helpful to the reader.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39175</id>
    <paper-page></paper-page>
    <pdf-page>137</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>129.55.200.20</remote-ip>
    <sorting-key type="integer">137</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-05-18T11:21:40-07:00</created-at>
    <created-by>Lasse Bunk</created-by>
    <description>"For now, we need it just in the store view" -- shouldn't this be "store views" or "store layout"?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39212</id>
    <paper-page></paper-page>
    <pdf-page>138</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>90.184.25.228</remote-ip>
    <sorting-key type="integer">138</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-25T18:22:56-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>Third paragraph, introducing the helper 'hidden_div_if' - the last sentence, 

"We&#8217;d use it in the store layout like this:"

reads as if we aren't actually making that change yet... but in fact we need to. It would be clearer to say "Use it in the store layout like this:"</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38523</id>
    <paper-page></paper-page>
    <pdf-page>138</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">138</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-13T22:39:37-07:00</created-at>
    <created-by></created-by>
    <description>My code gives me an error if I simply run "redirect_to_index". I have to pass in a parameter, the error message tells me that I have to pass in a parameter. So I use "redirect_to_index(nil)" instead.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38337</id>
    <paper-page></paper-page>
    <pdf-page>140</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>32.159.6.190</remote-ip>
    <sorting-key type="integer">140</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-02-23T04:44:16-08:00</created-at>
    <created-by>Dave Colburn</created-by>
    <description>Arrgh the comment above referring to the code on page 141 (it's 142 in my B1.10 version): 

"the code on page 141: --- format.js if request.xhr? format.html{ redirect_to_index } --- seems like the second line will be called in both js and html variants - what is a logical error in this case (Sam says: Both statements simply define what formats will be accepted)"

respond_to do |format|
   format.js if request.xhr?
   format.html {redirect_to_index}
end

 -- Sam, in the "Sam says:" parenthetic comment above is B O G U S.  How about an explanation as to why the code isn't:

respond_to do |format|
  if request.xhr?
     format.js
  else
     format.html {redirect_to_index}
  end


like I was expecting (and I suspect other readers will suspect as well. Your " (Sam says: Both statements simply define what formats will be accepted)" is a stark contrast to the rest of the book where you folks do a good job of explaining the material. How about some text in the book?  If it is indeed "simply defining what formats will be accepted", why is the if statement needed at all? </description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37886</id>
    <paper-page></paper-page>
    <pdf-page>141</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>70.174.132.180</remote-ip>
    <sorting-key type="integer">141</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-25T19:35:14-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>The use of &lt;label for="order_name"&gt; in Figure 10.1 and in the code sample at the bottom of the page is inconsistent with the (preferable) use of &lt;%= form.label :name, "Name:" %&gt;in checkout.html.erb (on the following page).</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38524</id>
    <paper-page></paper-page>
    <pdf-page>147</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">147</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-27T21:15:01-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>Figure 10.3: validation errors - with Rails 2.3.2 and the provided styles both the labels and the form input controls are solid red. (Checked against full depot_s downloaded code.)</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38579</id>
    <paper-page></paper-page>
    <pdf-page>155</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">155</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-26T19:26:46-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>Bottom of the page: "Since this modi&#64257;ed con&#64257;g/routes.rb, which is cached for per formance reasons, you will need to restart your server." - It would have been nice to know this earlier.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38546</id>
    <paper-page></paper-page>
    <pdf-page>159</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">159</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-15T05:29:48-07:00</created-at>
    <created-by>Rick DeNatale</created-by>
    <description>In the last paragraph on the page.

"-- we're saying to call the method salt in the current object."

This should be "to call the method salt=.." The methods salt and salt= are different methods, and the first clause has it correct. The sentence is self contradictory.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38882</id>
    <paper-page>155</paper-page>
    <pdf-page>161</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>166.82.154.123</remote-ip>
    <sorting-key type="integer">161</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-02-22T13:52:20-08:00</created-at>
    <created-by>Ronnie Liew</created-by>
    <description>"We&#8217;ll create a salt string by concatenating a random number and the object 
id of the user object. It doesn&#8217;t much matter what the salt is as long as it&#8217;s 
unpredictable (using the time as a salt, for example, has lower entropy than 
a random string). We store this new salt into the model object&#8217;s salt attribute. 
Again, this is a private method, so place it after the private keyword in the 
source. "

The source code for that particular method should be:

  class &lt;&lt; self
    private
    def encrypted_password(password, salt)
      string_to_hash = password + "wibble" + salt
      Digest::SHA1.hexdigest(string_to_hash)
    end
  end


in order for it to be a private class method. The given method in the source code still allows encrypted_password to be called publicly.
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37881</id>
    <paper-page></paper-page>
    <pdf-page>162</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>99.13.242.166</remote-ip>
    <sorting-key type="integer">162</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-05-28T08:10:59-07:00</created-at>
    <created-by>Victor</created-by>
    <description>The code for login.html.erb given on 163 will not display (or wouldn't for me) the flash notice indicating a failed login (also on 163 at the top). This is addressed when the use of the global "store" layout is implemented on page 168, but it would be useful to note that the code as listed on 163 is functionally incomplete and if a user/reader decides to test a failed login, the error message will not display.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39264</id>
    <paper-page>163</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>66.57.181.58</remote-ip>
    <sorting-key type="integer">163</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-26T21:20:11-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>In the revised new.html.erb, 
&lt;%= f.label :user_password, 'Password' %&gt;
should be
&lt;%= f.label :password, 'Password' %&gt;
and
&lt;%= f.label :user_password_confirmation, 'Confirm' %&gt;
should be
&lt;%= f.label :password_confirmation, 'Confirm' %&gt;

</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38547</id>
    <paper-page></paper-page>
    <pdf-page>167</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">167</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-27T07:41:13-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>"With postback handling, there is no need to issue a redirect and therefore 
no need to make &#64258;ash available across requests. &#64258;ash.now makes the notice 
available to the template without storing it in the session." - The use of flash.now is because we are returning the user to the submitted screen (as we would with a validation failure). A successful POST to a postback handler still needs to redirect (and does, in the code given here).

</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38562</id>
    <paper-page></paper-page>
    <pdf-page>169</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">169</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-27T08:15:14-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>We haven't got a layout for the admin controller.

</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38565</id>
    <paper-page></paper-page>
    <pdf-page>171</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">171</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-04-15T06:47:50-07:00</created-at>
    <created-by>Sam Aparicio</created-by>
    <description>The book suggests that naming a method after_destroy in the user.rb file will cause ActiveRecord to execute that method as a hook after it destroys an instance of the model.

Under my rails 2.3.2 and ruby 1.8.6, the method never gets executed.

If I change the code to this, instead, it works:

depot/app/models/user.rb

...
after_destroy :my_little_destroy_method

def my_little_destroy_method
  #code raising the exception goes here
end


</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38885</id>
    <paper-page>171</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>173.79.13.38</remote-ip>
    <sorting-key type="integer">171</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-02-25T18:17:46-08:00</created-at>
    <created-by>Ted Roche</created-by>
    <description>Figure 11.1 shows code in the controller that doesn't exist: it shows name = params[:name] but the controller actually uses user = User.authenticate(params[:name], params[:password]) -- concept still comes across, though.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37968</id>
    <paper-page></paper-page>
    <pdf-page>172</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>98.217.44.206</remote-ip>
    <sorting-key type="integer">172</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-17T08:14:30-07:00</created-at>
    <created-by></created-by>
    <description>Perhaps this is intentional, but the code listings use parentheses and quotes inconsistently.  For example, in the authorize method on this page you use redirect_to(:controller =&gt; "admin", :action =&gt; "login").  On the previous page, the same line omits the parentheses and switches the double quotes to single.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38375</id>
    <paper-page></paper-page>
    <pdf-page>173</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>146.115.59.21</remote-ip>
    <sorting-key type="integer">173</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-27T10:07:34-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>This looks like a problem with Rails 2.3.2 (Mac OS X, Leopard, updated as described in the book).:

Following along, I deleted my admin user and tried to use script/console to create a new one.

$ ruby script/console 
Loading development environment (Rails 2.3.2)
&gt;&gt; User.create(:name =&gt; 'Justin', :password =&gt; 'frog', 
?&gt;             :password_confirmation =&gt; 'frog')
NameError: uninitialized constant User::Digest
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:105:in `const_missing'
	from /Users/justin/projects/depot/app/models/user.rb:38:in `encrypted_password'
...

Providing the relevant 'require' got me going again:
&gt;&gt; require 'digest/sha1'
=&gt; []
&gt;&gt; User.create(:name =&gt; 'Justin', :password =&gt; 'frog',
?&gt;             :password_confirmation =&gt; 'frog')
=&gt; #&lt;User id: 3, name: "Justin", hashed_password: "3d6f12596eff95c7ce65303c3376302af471e5c8", salt: "126957100.737268448867861", created_at: "2009-03-27 17:01:32", updated_at: "2009-03-27 17:01:32"&gt;

</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38568</id>
    <paper-page></paper-page>
    <pdf-page>176</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">176</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-27T10:23:38-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>The code for the destroy method reads better, and is more consistent with other methods, if you put the success message in the flash *after* deleting the User.

</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38569</id>
    <paper-page></paper-page>
    <pdf-page>177</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">177</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-27T13:55:50-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>In who_bought.atom.builder:
i) The feed.updated timestamp should really be taken from the latest order, not the first in the list
ii) the total line in the table in the summary should use xml.td rather than xml.th
iii) The sample output (spanning pages 189 and 190) appears out of date: it doesn't include the summary table.

</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38573</id>
    <paper-page></paper-page>
    <pdf-page>189</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">189</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-27T16:08:58-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>In the en.yml listing, the layout: element is missing.

</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38576</id>
    <paper-page></paper-page>
    <pdf-page>201</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">201</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-06-17T08:10:06-07:00</created-at>
    <created-by>James Abley</created-by>
    <description>Issue presumably because of me doing something silly, or Rails 2.3.2 has changed from when the book was written.

I don't get the nice error messages when I attempt to submit a blank checkout form in Spanish. Instead, I get the following flash message displayed:

Address translation missing: es, activerecord, errors, models, order, attributes, address, blank
Name translation missing: es, activerecord, errors, models, order, attributes, name, blank
Pay type translation missing: es, activerecord, errors, models, order, attributes, pay_type, blank
Pay type translation missing: es, activerecord, errors, models, order, attributes, pay_type, inclusion
Email translation missing: es, activerecord, errors, models, order, attributes, email, blank

I can add the relevant items to the YAML file but it doesn't feel very DRY to add the same message so many times?

es:
  activerecord:
    errors:
      models:
        order:
          attributes:
            address:
              blank: "no puede quedar en blanco"

Rails 2.3.2
$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39504</id>
    <paper-page></paper-page>
    <pdf-page>205</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>87.84.49.84</remote-ip>
    <sorting-key type="integer">205</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-27T21:08:38-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>With Rails 2.3.2 the ActiveRecord error messages appear to be being escaped before being displayed - so the Spanish error messages for an empty checkout form include:
- Forma de pago no est&amp;aacute; incluido en la lista
- Direcci&amp;oacute;n no puede quedar en blanco
(Checked with downloaded depot_s code, with the version number changed in  config/environment.rb, controllers/application.rb renamed to controllers/application_controller.rb, and my existing database file copied over)


</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38578</id>
    <paper-page></paper-page>
    <pdf-page>206</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">206</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-27T21:29:53-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>"Now we have the website itself translated, what&#8217;s left is the content." - for completeness, it would be good to include translation of the payment drop-down menu items. </description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38580</id>
    <paper-page></paper-page>
    <pdf-page>207</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">207</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-04-07T09:40:39-07:00</created-at>
    <created-by></created-by>
    <description>This is not an error so much as a question.  I'm using mySQL and instead of getting 0 errors I get ActiveRecord::StatementInvalid: Mysql::Error: Column 'quantity' cannot be null: INSERT INTO 'line_items' (`updated_at`, `order_id`, `total_price`, `quantity`, `product_id`, `id`, `created_at`) VALUES ('2009-04-07 16:40:04', 1, 9.99, NULL, 1, 996332877, '2009-04-07 16:40:04')
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38782</id>
    <paper-page></paper-page>
    <pdf-page>216</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>75.103.12.44</remote-ip>
    <sorting-key type="integer">216</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-04-03T21:01:41-07:00</created-at>
    <created-by>Mitch</created-by>
    <description>For those who are following along with the book, not the sample code, it would be helpful to specify where to put the "fixtures :products" line.

It should read like this:

require 'test_helper'
class ProductTest &lt; ActiveSupport::TestCase
    fixtures :products
    #...

Thanks! Great book!</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38709</id>
    <paper-page></paper-page>
    <pdf-page>217</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>121.215.182.180</remote-ip>
    <sorting-key type="integer">217</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-06T03:33:47-07:00</created-at>
    <created-by>David Chadderton</created-by>
    <description>This page seems to have reverted to an older version of test routines using def instead of test-do without explanation.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39116</id>
    <paper-page></paper-page>
    <pdf-page>221</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>83.67.102.224</remote-ip>
    <sorting-key type="integer">221</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-21T17:10:03-07:00</created-at>
    <created-by></created-by>
    <description>The sample code 

&lt;% SALT = "NaCl" unless defined?(SALT) %&gt;
dave:
name: dave
salt: &lt;%= SALT %&gt;
hashed_password: &lt;%= User.encrypted_password('secret' , SALT) %&gt;

should be 

&lt;% SALT = "NaCl" unless defined?(SALT) %&gt;
dave:
ID: 1
name: dave
salt: &lt;%= SALT %&gt;
hashed_password: &lt;%= User.encrypted_password('secret' , SALT) %&gt;

For MYSQL.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38446</id>
    <paper-page></paper-page>
    <pdf-page>227</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>24.21.145.153</remote-ip>
    <sorting-key type="integer">227</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2008-07-30T09:09:35-07:00</created-at>
    <created-by></created-by>
    <description>"We saw an example of multiple sessions in the test on page 225."  The example actually starts on 226.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">33366</id>
    <paper-page></paper-page>
    <pdf-page>227</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip nil="true"></remote-ip>
    <sorting-key type="integer">227</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">914</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-17T02:14:55-07:00</created-at>
    <created-by>Iljun Kim</created-by>
    <description>It looks like "follow_redirect" was taken out from functional tests.  I came across the following paragraph in the "lib/ruby/gems/1.8/gems/actionpack-2.2.2/CHANGELOG" file after running into a method_missing error during the test.

 208
 209 * Remove follow_redirect from controller functional tests.
 210 
 211         If you want to follow redirects you can use integration tests.  The functional test
 212         version was only useful if you were using redirect_to :id=&gt;...
 213 


Thanks.
--IJ

</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38374</id>
    <paper-page></paper-page>
    <pdf-page>234</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>68.40.81.46</remote-ip>
    <sorting-key type="integer">234</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-21T18:28:15-07:00</created-at>
    <created-by>DA</created-by>
    <description>At the top and middle of the page:
p#some-id should be 
p.some-id</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38448</id>
    <paper-page></paper-page>
    <pdf-page>236</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>157.252.132.216</remote-ip>
    <sorting-key type="integer">236</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-28T20:15:23-07:00</created-at>
    <created-by>Justin Forder</created-by>
    <description>"Let&#8217;s launch straight in and implement the test of our story." - for the reader following along in an editor, it would be nice to know the name of the test! This isn't revealed until the complete code listing on page 243.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38593</id>
    <paper-page></paper-page>
    <pdf-page>241</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.169.11.194</remote-ip>
    <sorting-key type="integer">241</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-14T21:27:27-07:00</created-at>
    <created-by>Paul Wise</created-by>
    <description>The sentence that states the CRUD helper methods is written as "[...], PUT, or DELETE XML_HTTP request [...]".  This should be written as "[...], PUT, DELETE, or XML_HTTP request [...]".</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38354</id>
    <paper-page></paper-page>
    <pdf-page>251</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>75.170.32.104</remote-ip>
    <sorting-key type="integer">251</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-01T22:12:17-07:00</created-at>
    <created-by>Steven Noble</created-by>
    <description>depot&gt; ruby -I test test/performance/order_speed_test.rb

...should be...

depot&gt; ruby -I test test/fixtures/performance/order_speed_test.rb

...where we've nested the performance directory inside the fixtures directory. </description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39056</id>
    <paper-page></paper-page>
    <pdf-page>252</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>58.178.90.23</remote-ip>
    <sorting-key type="integer">252</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-04T11:23:40-08:00</created-at>
    <created-by>Brent J. Nordquist</created-by>
    <description>The class OrderSpeedTest has a line at the top: "tests StoreController" The generator seems to put those lines in test classes too. What is this for? I searched the book for "tests" and I don't see anyplace where you explain what this line is for or what it does.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38170</id>
    <paper-page></paper-page>
    <pdf-page>253</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>208.42.114.217</remote-ip>
    <sorting-key type="integer">253</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-31T13:32:07-07:00</created-at>
    <created-by></created-by>
    <description>"Rails assumes that controllers in subdirectories of the directory app/controllers are in Ruby modules named after the subdirectory."

This is confusing. The controllers are modules? Only the ones in subdirectory? If so, how can they work since modules cannot be instantiated? </description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38654</id>
    <paper-page></paper-page>
    <pdf-page>270</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">270</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-27T06:07:38-07:00</created-at>
    <created-by></created-by>
    <description>Line 4 of the code example states:
Rating = Struct.new(...)
of course it should be
rating = Struct.new(...)

(lowercase r)</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38556</id>
    <paper-page></paper-page>
    <pdf-page>275</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>83.244.201.178</remote-ip>
    <sorting-key type="integer">275</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-27T06:09:14-07:00</created-at>
    <created-by></created-by>
    <description>Color of the text commented out at the botton of code listing should appear in green, not blue.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38557</id>
    <paper-page></paper-page>
    <pdf-page>275</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>83.244.201.178</remote-ip>
    <sorting-key type="integer">275</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-05-08T14:54:52-07:00</created-at>
    <created-by>Nicolas Connault</created-by>
    <description>Section 16.1 Generally Available Extensions

The first code sample has

require 'rubygems'
require 'activesupport'

However the to_json method is part of activerecord, not activesupport.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39153</id>
    <paper-page></paper-page>
    <pdf-page>276</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>82.228.178.75</remote-ip>
    <sorting-key type="integer">276</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-08T14:55:19-07:00</created-at>
    <created-by>Nicolas Connault</created-by>
    <description>puts {1 =&gt; 2}.blank?

Seems you can&#8217;t pass a hash being instantiated to the puts method, the interpreter chokes at the equal sign.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39154</id>
    <paper-page></paper-page>
    <pdf-page>276</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>82.228.178.75</remote-ip>
    <sorting-key type="integer">276</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-04-30T20:16:51-07:00</created-at>
    <created-by>Scott Johnson</created-by>
    <description>While Rails 1.2.6 assumes 30 day months, Rails 2.2.2 seems to be more accurate:

&gt;&gt; puts Time.now.utc
Fri May 01 03:12:51 UTC 2009
=&gt; nil
&gt;&gt; puts 20.months.ago
2007-09-01 03:12:57 UTC
=&gt; nil
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39044</id>
    <paper-page>277</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>99.189.91.206</remote-ip>
    <sorting-key type="integer">277</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-04-14T03:04:01-07:00</created-at>
    <created-by></created-by>
    <description>DEPRECATION WARNING: :skip_last_comma has been deprecated. Use :last_word_connector instead.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38866</id>
    <paper-page></paper-page>
    <pdf-page>277</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>121.73.85.181</remote-ip>
    <sorting-key type="integer">277</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-06-10T22:35:15-07:00</created-at>
    <created-by>Wei Feng</created-by>
    <description>state_lookup = us_states.each_with_object({}) do |hash,state|

should be:

state_lookup = us_states.each_with_object({}) do |state, hash|
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39407</id>
    <paper-page></paper-page>
    <pdf-page>277</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>58.96.96.58</remote-ip>
    <sorting-key type="integer">277</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-27T08:14:01-07:00</created-at>
    <created-by></created-by>
    <description>puts count.inspect #=&gt; {" "=&gt;3, "w"=&gt;1, "m"=&gt;1, "N"=&gt;1, "o"=&gt;1, "e" =&gt;2, "h" =&gt;1, "s" =&gt;1, "t" =&gt;2, "i" =&gt;2}
-&gt; half of this is in blue, when the whole of it should be in green</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38564</id>
    <paper-page></paper-page>
    <pdf-page>279</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>83.244.201.178</remote-ip>
    <sorting-key type="integer">279</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-07-02T09:14:41-07:00</created-at>
    <created-by>Suhail Patel</created-by>
    <description>In the Section 16.9 Unicode Support, there is a small typo where Kingdom is actually spelt as Kindom</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39794</id>
    <paper-page>281</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>81.99.225.212</remote-ip>
    <sorting-key type="integer">281</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-27T13:45:22-07:00</created-at>
    <created-by>Stephan Tual</created-by>
    <description>name.chars.reverse ---&gt; shouldn't this read name.mb_chars.reverse instead?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38572</id>
    <paper-page></paper-page>
    <pdf-page>287</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">287</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-02-20T22:51:19-08:00</created-at>
    <created-by>Dimitris Kallipolitis</created-by>
    <description>The name.chars.length gives an error:
undefined method `length' for #&lt;Enumerable::Enumerator:0xb70f99cc&gt;

The correct class name for multibyte characters support is mb_chars.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37851</id>
    <paper-page></paper-page>
    <pdf-page>290</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>94.68.93.175</remote-ip>
    <sorting-key type="integer">290</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-06-05T17:44:36-07:00</created-at>
    <created-by></created-by>
    <description>The link provided in the footnote points to an empty wiki page. (And I really need that plug-in!)</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39327</id>
    <paper-page></paper-page>
    <pdf-page>311</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>129.55.200.20</remote-ip>
    <sorting-key type="integer">311</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-05T23:44:20-08:00</created-at>
    <created-by>Bruce Hobbs</created-by>
    <description>In first, and only, sentence of first paragraph: "&#8230;a specific database engine: and SQL&#8230;." Is the colon after engine perhaps supposed to be a semi-colon?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38205</id>
    <paper-page></paper-page>
    <pdf-page>312</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>216.175.117.133</remote-ip>
    <sorting-key type="integer">312</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-06T00:03:26-08:00</created-at>
    <created-by>Bruce Hobbs</created-by>
    <description>Link in footnote 4 goes to a "This topic does not exist yet" page.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38207</id>
    <paper-page></paper-page>
    <pdf-page>314</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>216.175.117.133</remote-ip>
    <sorting-key type="integer">314</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-28T05:27:05-07:00</created-at>
    <created-by></created-by>
    <description>The arrow in front of t.string :pay_type, :limit =&gt; 10 usually indicates a change and is therefore unnecessary here.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38581</id>
    <paper-page></paper-page>
    <pdf-page>317</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">317</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-05-30T23:26:05-07:00</created-at>
    <created-by>Bruce Hobbs</created-by>
    <description>In the "DB2 Adapter" section of the "Connecting to the Database" chapter, the adapter connection parameter comment should be "ibm_db" not "ibm-db2"

Also these connection parameters are missing: host, port, account, app_user, application and workstation</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39287</id>
    <paper-page></paper-page>
    <pdf-page>323</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>216.175.117.133</remote-ip>
    <sorting-key type="integer">323</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-02-18T10:33:03-08:00</created-at>
    <created-by>Kirk Baird</created-by>
    <description>Context: "If you use the :joins or :select options, objects will automatically be marked :readonly."

But I can do this:

kirk$ script/console
Loading development environment (Rails 2.1.0)
&gt;&gt; elt = Project.find(:first, :select =&gt; "id, name")
=&gt; #&lt;Project id: 1, name: "P1"&gt;
&gt;&gt; elt.name="P01"
=&gt; "P01"
&gt;&gt; elt.save
=&gt; true
&gt;&gt; elt
=&gt; #&lt;Project id: 1, name: "P01", updated_at: "2009-02-18 18:25:00"&gt;
&gt;&gt; quit
kirk$ sqlite3 db/development.sqlite3 "select * from projects"
1|P01|1|2009-02-11 17:32:43|2009-02-18 18:25:00

which implies that using the :select option does not necessarily make the object read only.

Granted, I could be missing something here.
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37811</id>
    <paper-page></paper-page>
    <pdf-page>338</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>209.248.236.162</remote-ip>
    <sorting-key type="integer">338</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-04-17T04:37:02-07:00</created-at>
    <created-by>Chris Causer</created-by>
    <description>On page:
named_scope :last_days, lambda{ |days| :condition =&gt; ['updated &lt;?', days]}

Didn't work for me on rails 2.3.2 (although I assume it won't work on other versions). Worked when I changed it to

named_scope :last_days, lambda{ |days| {:conditions =&gt; ['updated &lt;?', days]}}

ie. pluralized condition and made the hash explicit.
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38906</id>
    <paper-page>338</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>163.1.240.40</remote-ip>
    <sorting-key type="integer">338</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-04-21T14:56:17-07:00</created-at>
    <created-by>Scott Johnson</created-by>
    <description>"Partial Updates and Dirty Bits" on p.351 says that Rails saves only the attributes that have been modified by direct assignment. But "Updating Existing Rows" on p.340 says a column will be updated in the database even if its value has not changed.

These seem to be conflicting statements. I'm not sure which is correct.
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38955</id>
    <paper-page>340</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>99.189.91.206</remote-ip>
    <sorting-key type="integer">340</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-04-23T23:32:15-07:00</created-at>
    <created-by>Nicolas Fesselet</created-by>
    <description>The book says in the paragraph about counting that the count function with just one string parameter will use that parameter as a condition (just like the find function previously described). This didn't work properly when I tried. Instead (and if I understand the rails documentation right) it uses the parameter as a column name and counts all rows where the corresponding value is not NULL.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38980</id>
    <paper-page>336</paper-page>
    <pdf-page>340</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>193.253.100.190</remote-ip>
    <sorting-key type="integer">340</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-28T15:08:55-07:00</created-at>
    <created-by></created-by>
    <description>The code reads:
user.name = 'Bill'
user.name_change # =&gt; ['Dave', 'Dave Thomas']
This makes no sense, is it a typo?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38591</id>
    <paper-page></paper-page>
    <pdf-page>356</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">356</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-22T11:13:15-07:00</created-at>
    <created-by>DA</created-by>
    <description>First sentence of page:
Active Record comes the rescue here.  Missing "to" the rescue.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38458</id>
    <paper-page></paper-page>
    <pdf-page>358</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>76.28.8.32</remote-ip>
    <sorting-key type="integer">358</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-14T21:35:35-07:00</created-at>
    <created-by>Terry Roe</created-by>
    <description>The last word of the second to last paragraph should be "comprehensible" instead of "comprensible".</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38355</id>
    <paper-page></paper-page>
    <pdf-page>358</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>69.145.230.92</remote-ip>
    <sorting-key type="integer">358</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-02-18T11:43:59-08:00</created-at>
    <created-by>Kirk Baird</created-by>
    <description>Context: "user.name = 'Bill'
user.name_change  # =&gt; ['Dave', 'Dave Thomas']"

This implies that the attribute change is only tracked the first time it is updated.

However, when I do this

kirk$ script/console
Loading development environment (Rails 2.1.0)
&gt;&gt; elt = Project.find(:first)
=&gt; #&lt;Project id: 1, name: "P01", organization_id: 1, created_at: "2009-02-11 17:32:43", updated_at: "2009-02-18 18:25:00"&gt;
&gt;&gt; elt.name = 'P1'
=&gt; "P1"
&gt;&gt; elt.name_change
=&gt; ["P01", "P1"]
&gt;&gt; elt.name = "P_1"
=&gt; "P_1"
&gt;&gt; elt.name_change
=&gt; ["P01", "P_1"]


it looks as if the attribute change is tracked each time you assign a new value to the attribute (although intermediate changes are lost).

</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37812</id>
    <paper-page></paper-page>
    <pdf-page>359</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>209.248.236.162</remote-ip>
    <sorting-key type="integer">359</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-02T01:01:31-07:00</created-at>
    <created-by>Christian Campbell</created-by>
    <description>The resource_id referencing Article One should be 1 as opposed to 2. (Though the preceding page says "Let's clear out our database..." it appears this wasn't done.)</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39060</id>
    <paper-page>381</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>70.185.103.244</remote-ip>
    <sorting-key type="integer">381</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-05-04T04:20:08-07:00</created-at>
    <created-by>Ian</created-by>
    <description>id = 2 
name = Article One 
acquired_at = 2008-05-14 12:03:24 
resource_id = 2 
resource_type = Article

"Notice how all three foreign keys in the catalog have an id of 1"

They don't in the output example (resource_ids are 2, 1, 1) -- looks like the data wasn't cleared from the previous example. However, IDs earlier in the output are all 1.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39080</id>
    <paper-page></paper-page>
    <pdf-page>385</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>86.158.113.240</remote-ip>
    <sorting-key type="integer">385</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-02-12T10:34:14-08:00</created-at>
    <created-by>Maher Hawash</created-by>
    <description>resource_id for "Article One":
   Reads: resource_id = 2
 Should : resource_id = 1


</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37702</id>
    <paper-page></paper-page>
    <pdf-page>388</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>75.150.41.177</remote-ip>
    <sorting-key type="integer">388</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2008-11-06T17:20:39-08:00</created-at>
    <created-by>Morris Keesan</created-by>
    <description>"... on page 387 we created a callback that generated a log message ..."
The referenced callback is actually on page 388 in this version.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">35654</id>
    <paper-page></paper-page>
    <pdf-page>392</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>141.154.35.4</remote-ip>
    <sorting-key type="integer">392</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">950</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-02-26T23:06:55-08:00</created-at>
    <created-by>Dimitris Kallipolitis</created-by>
    <description>Why the blank page?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38007</id>
    <paper-page></paper-page>
    <pdf-page>395</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>94.68.85.157</remote-ip>
    <sorting-key type="integer">395</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-04-13T00:01:28-07:00</created-at>
    <created-by></created-by>
    <description>en:
  activerecord:
    errors:
      messages: # without this line, message override will not work
        taken: "is in use"
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38848</id>
    <paper-page></paper-page>
    <pdf-page>407</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>96.231.131.26</remote-ip>
    <sorting-key type="integer">407</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-05T10:59:13-08:00</created-at>
    <created-by></created-by>
    <description>under validates_presence_of, 

Options:
:allow_blank ... if true, nil attributes are considered valid 


looks like a cut and paste error from :allow_nil line above it. Should be *blank* attributes are considered valid</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38188</id>
    <paper-page></paper-page>
    <pdf-page>410</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>75.151.80.229</remote-ip>
    <sorting-key type="integer">410</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-31T12:46:58-07:00</created-at>
    <created-by></created-by>
    <description>The cubit ratio is right but handled wrong.
read_attribute("length" ) * CUBITS_TO_INCHES... doesn't make sense with a ration of 18, as clearly an inche is smaller than a cubit. So if the data is stored in cubits, we should divide, not multiply, by the ratio in order to get the inches value.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38651</id>
    <paper-page></paper-page>
    <pdf-page>417</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">417</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments>[01] means one of 0 or 1</author-comments>
    <author-name>Dave Thomas</author-name>
    <bug-type>OK</bug-type>
    <created-at type="datetime">2009-03-31T12:44:44-07:00</created-at>
    <created-by></created-by>
    <description>:month =&gt; /[01]?\d/, should read :month =&gt; /[0-1]?\d/,</description>
    <fixed-on type="datetime">2009-04-21T06:10:18-07:00</fixed-on>
    <id type="integer">38650</id>
    <paper-page></paper-page>
    <pdf-page>435</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">435</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-31T13:14:40-07:00</created-at>
    <created-by></created-by>
    <description>Two paragraphs contradicting each other:
:overwrite_params: "The options in hash are used to create the URL, but no default values are taken from the current request."

But above it states ":overwrite_params
option to tell url_for that the original request parameters contained the new year that we want to use. Because it thinks that the year hasn&#8217;t changed, it continues
to use the rest of the defaults."

'continue to use the rest of the defaults' != 'no default values are taken from the current request'</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38653</id>
    <paper-page></paper-page>
    <pdf-page>438</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">438</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-04T01:01:38-08:00</created-at>
    <created-by>Dimitris Kallipolitis</created-by>
    <description>"to our applications routes."-&gt;"to our application's routes."</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38147</id>
    <paper-page></paper-page>
    <pdf-page>452</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>94.68.74.203</remote-ip>
    <sorting-key type="integer">452</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-04T22:44:24-08:00</created-at>
    <created-by>Dimitris Kallipolitis</created-by>
    <description>"format, which is the value of the accepts MIME type for the request.
the MIME type for the format used in the request..."
-&gt;
"format, the MIME type for the format used in the request."</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38178</id>
    <paper-page></paper-page>
    <pdf-page>469</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>94.68.96.45</remote-ip>
    <sorting-key type="integer">469</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-02T12:43:54-07:00</created-at>
    <created-by></created-by>
    <description>Last line: are passed the controller... it should read "are passed TO the controller"</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38683</id>
    <paper-page></paper-page>
    <pdf-page>488</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">488</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-15T10:37:32-07:00</created-at>
    <created-by></created-by>
    <description>A server should not provide a dates more...
                              ^^^^^
                              date</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38360</id>
    <paper-page></paper-page>
    <pdf-page>509</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>64.56.148.97</remote-ip>
    <sorting-key type="integer">509</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-05T00:54:36-08:00</created-at>
    <created-by>Dimitris Kallipolitis</created-by>
    <description>Loved that big sign!</description>
    <fixed-on type="datetime">2009-04-21T06:10:32-07:00</fixed-on>
    <id type="integer">38181</id>
    <paper-page></paper-page>
    <pdf-page>513</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>94.68.66.186</remote-ip>
    <sorting-key type="integer">513</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-05-22T06:51:52-07:00</created-at>
    <created-by>Ulf</created-by>
    <description>The example &lt;%= number_with_precision(50/3) %&gt; has a typo. I believe you wanted to show &lt;%= number_with_precision(50,3) %&gt; ==&gt; 50.000.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39233</id>
    <paper-page>513</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>207.35.253.219</remote-ip>
    <sorting-key type="integer">513</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-07-02T22:51:22-07:00</created-at>
    <created-by>Octav Popescu</created-by>
    <description>The second paragraph says: "... We use the pagination_links helper method to construct a nice set of links to other pages." And then the example uses 'will_paginate' instead.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39801</id>
    <paper-page>519</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>151.201.243.189</remote-ip>
    <sorting-key type="integer">519</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-06-14T14:15:03-07:00</created-at>
    <created-by></created-by>
    <description>Text refers to both "stylesheet_link_tag" and "stylesheet_include_tag" -- same thing?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39447</id>
    <paper-page></paper-page>
    <pdf-page>520</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>99.17.34.199</remote-ip>
    <sorting-key type="integer">520</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-03T05:00:21-07:00</created-at>
    <created-by></created-by>
    <description>"In addition to :all and :defaults, javascript_include_tag  accepts as a parameter the value :defaults"

:defaults is repeated here
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38704</id>
    <paper-page></paper-page>
    <pdf-page>520</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>83.244.201.178</remote-ip>
    <sorting-key type="integer">520</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-06-14T14:19:06-07:00</created-at>
    <created-by></created-by>
    <description>Why is the mislav-will_paginate gem installation process so very different from the "gem install" step recommended elsewhere in the book? Is this page out of date?</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39448</id>
    <paper-page></paper-page>
    <pdf-page>521</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>99.17.34.199</remote-ip>
    <sorting-key type="integer">521</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-04-08T12:53:01-07:00</created-at>
    <created-by>Tres Henry</created-by>
    <description>In the example "create" action for saving multiple models at the bottom of page 532 and continuing on page 533 there is a "rescue" clause that has no associated "begin" which is invalid.  There should be a "begin" before the line that reads "Product.transaction do".</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38794</id>
    <paper-page>532</paper-page>
    <pdf-page></pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>207.244.148.43</remote-ip>
    <sorting-key type="integer">532</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-05-05T15:08:33-07:00</created-at>
    <created-by>Levi Brown</created-by>
    <description>the footnoted link is dead.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39110</id>
    <paper-page></paper-page>
    <pdf-page>547</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>24.22.29.78</remote-ip>
    <sorting-key type="integer">547</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>SUGGEST</bug-type>
    <created-at type="datetime">2009-03-04T01:10:08-08:00</created-at>
    <created-by></created-by>
    <description>I guess there should be a 
&lt;%= submit_tab %&gt;
expression between the "text_field_tag(:arg2... " line and "&lt;% end %&gt;" line. Otherwise it just can't work.
And further, though the source code of the "without error checking" version is not included, I guess 
params[:arg2]
should be
Float(params[:arg2])
, or an error saying "can't convert string to float" or something will occur.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38148</id>
    <paper-page></paper-page>
    <pdf-page>548</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>203.70.51.103</remote-ip>
    <sorting-key type="integer">548</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-04T06:44:23-08:00</created-at>
    <created-by></created-by>
    <description>At the end of the page:

"Unlike our previous approach, it handles storing the uploads in both your filesystem or a database table"

This should be  
  1."...both your filesystem and database tables."
or
  2."...either your filesystem or a database table." 
(2. is better, perhaps).
I.e., "either..or" or "both..and", but not "both..or".</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38156</id>
    <paper-page></paper-page>
    <pdf-page>555</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>124.86.111.223</remote-ip>
    <sorting-key type="integer">555</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-02-17T08:19:44-08:00</created-at>
    <created-by>Martin Hawkins</created-by>
    <description>The code supplied for pragforms is still incorrect in that when used, the following error is seen:
pragforms/config/boot.rb:33:Warning: Gem::SourceIndex#search support for String patterns is deprecated
rake aborted!
undefined method `require_gem' for main:Object
Rails is 2.2.2 and gem is 1.3.1
The work around to 'rails pragforms and then copy the appropriate code to the correct folders.
Not very friendly though!!</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37787</id>
    <paper-page></paper-page>
    <pdf-page>573</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>217.42.18.165</remote-ip>
    <sorting-key type="integer">573</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-04T08:52:19-07:00</created-at>
    <created-by></created-by>
    <description>The footnote at the bottom of the page just reiterates what the text says - the footnote can be safely removed.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38714</id>
    <paper-page></paper-page>
    <pdf-page>582</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">582</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-05T04:43:31-07:00</created-at>
    <created-by></created-by>
    <description>The text says: "template. We have to give render the explicit
path to the template (the leading ./) because we&#8217;re not invoking the view from a real controller and Rails can&#8217;t guess the default location."

... however the code shows none of that. There is no leading ./</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38726</id>
    <paper-page></paper-page>
    <pdf-page>613</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">613</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments>Yup&#8212;they've gone and totally reorganized the wiki (and deleted lots of useful content in the process. We're trying to work out what to do)</author-comments>
    <author-name>Dave Thomas</author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-05T06:56:40-07:00</created-at>
    <created-by></created-by>
    <description>Absolutely every single link to the Rails wiki is dead, including the one including in that page's footnote.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38727</id>
    <paper-page></paper-page>
    <pdf-page>621</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">621</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-06-01T06:12:26-07:00</created-at>
    <created-by>Shaun McDonald</created-by>
    <description>Is the full setup method required in the OrderControllerTest? I thought that they were no longer required with a certain improvement of rails. Also the Rails Guides does it differently by not adding the setup method and accessing the ActionMailer::Base directly rather than setting up a variable for it.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39294</id>
    <paper-page></paper-page>
    <pdf-page>624</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>87.236.135.172</remote-ip>
    <sorting-key type="integer">624</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-05-20T06:07:53-07:00</created-at>
    <created-by></created-by>
    <description>Last paragraph:
"There really isn&#8217;t much too it." should read "There really isn&#8217;t much to it."</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39220</id>
    <paper-page></paper-page>
    <pdf-page>628</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>212.13.49.145</remote-ip>
    <sorting-key type="integer">628</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-05T07:39:23-07:00</created-at>
    <created-by></created-by>
    <description>should say 'real life' not 'real live'</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38729</id>
    <paper-page></paper-page>
    <pdf-page>628</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">628</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-20T08:22:40-07:00</created-at>
    <created-by>Kiyu Gabriel</created-by>
    <description>apparent inconsistency in URLS in paragraph starting with "The way the magic works..." - difference is localhost:3000 vs. rubymac:3000</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38426</id>
    <paper-page></paper-page>
    <pdf-page>632</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>209.142.128.241</remote-ip>
    <sorting-key type="integer">632</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-20T08:25:02-07:00</created-at>
    <created-by>Kiyu Gabriel</created-by>
    <description>In third bullet point on the page, last sentence reads "They method names determine the underlying..."  should probably read  "The method names..."</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38427</id>
    <paper-page></paper-page>
    <pdf-page>634</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>209.142.128.241</remote-ip>
    <sorting-key type="integer">634</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-02T19:53:16-07:00</created-at>
    <created-by>Morris Keesan</created-by>
    <description>4th paragraph in SOAP section says, "...proven to be too attractive, therfore most SOAP based web services are defined ..."

"therfore" should be "therefore"</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38696</id>
    <paper-page></paper-page>
    <pdf-page>634</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>141.154.254.61</remote-ip>
    <sorting-key type="integer">634</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-07T19:46:25-07:00</created-at>
    <created-by></created-by>
    <description>proper syntax is: hors d&#8217;oeuvres</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38785</id>
    <paper-page></paper-page>
    <pdf-page>651</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>67.188.95.2</remote-ip>
    <sorting-key type="integer">651</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-22T15:59:51-07:00</created-at>
    <created-by></created-by>
    <description>"As agile developers know, the more feed-back users can give we early in the development process, the better."

Misplaced "we"</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38464</id>
    <paper-page></paper-page>
    <pdf-page>652</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>64.56.148.97</remote-ip>
    <sorting-key type="integer">652</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-24T13:52:07-07:00</created-at>
    <created-by>Derek Bruneau</created-by>
    <description>In the first line, "we'll get yourself" should be "we'll get ourselves".</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38987</id>
    <paper-page></paper-page>
    <pdf-page>652</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>146.115.59.21</remote-ip>
    <sorting-key type="integer">652</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-24T13:56:21-07:00</created-at>
    <created-by>Derek Bruneau</created-by>
    <description>Another pronoun mismatch towards the end of the first paragraph: in "we don&#8217;t &#64257;nd out what they are right after you launch our site", the "you" should be a second "we".</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38988</id>
    <paper-page></paper-page>
    <pdf-page>652</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>146.115.59.21</remote-ip>
    <sorting-key type="integer">652</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-06-18T19:16:48-07:00</created-at>
    <created-by></created-by>
    <description>Last sentence in 28.1 needs s/you/we/
In fact every other sentence in the intro has an incorrect pronoun in it.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39544</id>
    <paper-page></paper-page>
    <pdf-page>652</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>129.55.200.20</remote-ip>
    <sorting-key type="integer">652</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-06-23T06:59:45-07:00</created-at>
    <created-by></created-by>
    <description>I believe Passenger became compatible with mod_rewrite as of v2.1, and the current version is now compatible with mod_alias. Perhaps you could point people at the relevant section of the Passenger User Guide for timely information on conflicts.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39619</id>
    <paper-page></paper-page>
    <pdf-page>656</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>129.55.200.20</remote-ip>
    <sorting-key type="integer">656</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-04-28T00:11:10-07:00</created-at>
    <created-by>Robert Gravina</created-by>
    <description>The second key generation command fails for me (saying .ssh/authorized_keys2 doesn't exist). Did you mean ~/.ssh for those commands? If not, where do expect the commands to be run from? Also, it would be good if it was explained a bit more. Should the key be generated on the web server, and then copied to ~/.ssh/authorised_keys2 on the SCM server? (in my case, they are different servers).</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39019</id>
    <paper-page></paper-page>
    <pdf-page>657</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>122.211.74.10</remote-ip>
    <sorting-key type="integer">657</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-22T16:15:40-07:00</created-at>
    <created-by></created-by>
    <description>"If we have multiple developers collaborating on development, we might feel uncomfortable putting the details of the con&#64257;guration our database ..."

"of our database?"
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38465</id>
    <paper-page></paper-page>
    <pdf-page>658</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>64.56.148.97</remote-ip>
    <sorting-key type="integer">658</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-22T16:18:48-07:00</created-at>
    <created-by></created-by>
    <description>"The other updates the &#64257;le database.yml from the copy that we previously placed on the sever."

server, not sever.
</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38466</id>
    <paper-page></paper-page>
    <pdf-page>660</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>64.56.148.97</remote-ip>
    <sorting-key type="integer">660</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-22T16:20:29-07:00</created-at>
    <created-by></created-by>
    <description>"As before, we might need to uncomment out and adjust the default_environment."

The phrase "uncomment out" doesn't make sense.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38467</id>
    <paper-page></paper-page>
    <pdf-page>661</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>64.56.148.97</remote-ip>
    <sorting-key type="integer">661</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-05T10:44:27-07:00</created-at>
    <created-by></created-by>
    <description>The deployment section needs clean up - for example on this page you refer to the 'mongrel' instances ... when the whole 10 previous page take you through setting up phusion.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38733</id>
    <paper-page></paper-page>
    <pdf-page>661</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">661</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-06-21T06:51:37-07:00</created-at>
    <created-by></created-by>
    <description>The link to DeploymentTips on the wiki points to an empty wiki page.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39589</id>
    <paper-page></paper-page>
    <pdf-page>663</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>129.55.200.20</remote-ip>
    <sorting-key type="integer">663</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-02-24T14:30:26-08:00</created-at>
    <created-by>Brent Nordquist</created-by>
    <description>Last paragraph before section 28.5: "version of it is checkout out onto the server" should be "is checked out onto"</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">37918</id>
    <paper-page></paper-page>
    <pdf-page>668</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>208.42.114.217</remote-ip>
    <sorting-key type="integer">668</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-29T12:40:51-07:00</created-at>
    <created-by>Morris Keesan</created-by>
    <description>The description of config.time_zone says, "If you wish to use another time zone, there following rake tasks ...".
"there" should be "the"</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">39030</id>
    <paper-page></paper-page>
    <pdf-page>690</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>151.203.247.122</remote-ip>
    <sorting-key type="integer">690</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>ERROR</bug-type>
    <created-at type="datetime">2009-03-17T09:42:15-07:00</created-at>
    <created-by>Steven Rummel</created-by>
    <description>The listing in the book for the depot.css file (p. 721) does not appear to include the logic to alternate shading when displaying the Listing Products page as shown on page 94. I cut and pasted the .css file instead of downloading it.

So far, though, excellent update. Many thanks.</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38377</id>
    <paper-page></paper-page>
    <pdf-page>721</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>204.75.125.135</remote-ip>
    <sorting-key type="integer">721</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-04-05T11:03:07-07:00</created-at>
    <created-by></created-by>
    <description>dev.rubyonrails... is no longer valid</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38734</id>
    <paper-page></paper-page>
    <pdf-page>727</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>92.238.62.79</remote-ip>
    <sorting-key type="integer">727</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1025</title-release-reported-in>
  </erratum>
  <erratum>
    <author-comments nil="true"></author-comments>
    <author-name nil="true"></author-name>
    <bug-type>TYPO</bug-type>
    <created-at type="datetime">2009-03-04T11:06:16-08:00</created-at>
    <created-by>Michael Keenan</created-by>
    <description>In the index under XML, it says: "template, see Template, rxml"

Under Template on page 769, there is no listing for rxml because of course that was deprecated in Rails 2. It should suggest "Template, xml.builder".</description>
    <fixed-on type="datetime" nil="true"></fixed-on>
    <id type="integer">38169</id>
    <paper-page></paper-page>
    <pdf-page>773</pdf-page>
    <product-id type="integer">111</product-id>
    <remote-ip>59.115.161.187</remote-ip>
    <sorting-key type="integer">773</sorting-key>
    <title-release-fixed-in type="integer" nil="true"></title-release-fixed-in>
    <title-release-reported-in type="integer">1004</title-release-reported-in>
  </erratum>
</errata>
