/
3403.html
1362 lines (1353 loc) · 84.1 KB
/
3403.html
1
<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:w="urn:schemas-microsoft-com:office:word"xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Title content="Errata for 736-2 Hellsten"><meta name=Keywords content=""><meta http-equiv=Content-Type content="text/html; charset=macintosh"><meta name=ProgId content=Word.Document><meta name=Generator content="Microsoft Word 11"><meta name=Originator content="Microsoft Word 11"><link rel=File-List href="736-2%20Hellsen%20errata_files/filelist.xml"><title>Errata for 736-2 Hellsten</title><!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>Richard Ables</o:Author> <o:Template>Normal</o:Template> <o:LastAuthor>Richard Ables</o:LastAuthor> <o:Revision>3</o:Revision> <o:Created>2007-03-07T22:45:00Z</o:Created> <o:LastSaved>2007-03-07T22:46:00Z</o:LastSaved> <o:Pages>1</o:Pages> <o:Words>1056</o:Words> <o:Characters>6024</o:Characters> <o:Lines>50</o:Lines> <o:Paragraphs>12</o:Paragraphs> <o:CharactersWithSpaces>7397</o:CharactersWithSpaces> <o:Version>11.0</o:Version> </o:DocumentProperties> <o:OfficeDocumentSettings> <o:AllowPNG/> </o:OfficeDocumentSettings></xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:Zoom>125</w:Zoom> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery> <w:UseMarginsForDrawingGridOrigin/> </w:WordDocument></xml><![endif]--><style><!-- /* Font Definitions */@font-face {font-family:"Times New Roman"; panose-1:0 2 2 6 3 5 4 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Verdana; panose-1:0 2 11 6 4 3 5 4 4 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"TheSansMonoCon-4 SemiLight"; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:"Zapf Dingbats"; panose-1:0 5 2 1 2 1 7 4 2 6; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 0 256 0 -2147483648 0;}@font-face {font-family:Verdana-Bold; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:Verdana; mso-font-charset:77; mso-generic-font-family:auto; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:TheSansMonoConSemiLight; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:"Times New Roman"; mso-font-charset:77; mso-generic-font-family:auto; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Times-Roman; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:Times; mso-font-charset:77; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:50331648 0 0 0 1 0;} /* Style Definitions */p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman";}a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;}a:visited, span.MsoHyperlinkFollowed {color:purple; text-decoration:underline; text-underline:single;}table.MsoNormalTable {mso-style-parent:""; font-size:10.0pt; font-family:"Times New Roman";}@page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;}div.Section1 {page:Section1;}--></style></head><body bgcolor=white lang=EN-US link=blue vlink=purple style='tab-interval:.5in'><div class=Section1><p class=MsoNormal><span style='font-size:9.0pt'>Errata for 736-2 Hellsten<o:p></o:p></span></p><table border=1 cellspacing=0 cellpadding=0 width=683 style='width:683.1pt; border-collapse:collapse;border:none;mso-border-top-alt:solid gray 1.0pt; mso-border-left-alt:solid gray 1.0pt;mso-border-right-alt:solid gray 1.0pt; mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana-Bold;color:#333333'><b>Page</b></span><span style='font-size:9.0pt;font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border:solid gray 1.0pt;border-left:none; mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana-Bold;color:#333333'><b>Original Text</b></span><span style='font-size:9.0pt;font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border:solid gray 1.0pt;border-left:none; mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana-Bold;color:#333333'><b>Corrected Text</b></span><span style='font-size:9.0pt;font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>17<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>The configuration file, </span><span style='font-size:9.0pt;font-family:Verdana'>database.yml</span><span style='font-size:9.0pt'>, is located in the </span><span style='font-size: 9.0pt;font-family:Verdana'>db</span><span style='font-size:9.0pt'> folder</span><span style='font-size:9.0pt;font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>The configuration file, </span><span style='font-size:9.0pt;font-family:Verdana'>database.yml</span><span style='font-size:9.0pt'>, is located in the </span><span style='font-size:9.0pt;font-family:Verdana'>config</span><span style='font-size:9.0pt'> folder</span><span style='font-size:9.0pt; font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>27<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Options 1 and 2 are self-explanatory.<o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Options 1 and 3 are self-explanatory.<o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>50<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>joel_spolsky:<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><span style="mso-spacerun: yes"> </span>id: 1<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>first_name: Joel<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><span style="mso-spacerun: yes"> </span>last_name: Spolsky<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>jeremy_keith:<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><span style="mso-spacerun: yes"> </span>id: 2<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><span style="mso-spacerun: yes"> </span>first_name: Jeremy<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><span style="mso-spacerun: yes"> </span>last_name: Keith<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoConSemiLight'>j</span><span style='font-size:9.0pt;font-family:Verdana'>oel_spolsky:<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><span style="mso-spacerun: yes"> </span>id: 1<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><span style="mso-spacerun: yes"> </span>first_name: Joel<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><span style="mso-spacerun: yes"> </span>last_name: Spolsky<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>jeremy_keith:<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><span style="mso-spacerun: yes"> </span>id: 2<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><span style="mso-spacerun: yes"> </span>first_name: Jeremy<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><span style="mso-spacerun: yes"> </span>last_name: Keith<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>christian_hellsten:<br> id: 3<br> first_name: Christian<br> last_name: Hellsten<br> jarkko_laine:<br> id: 4<br> first_name: Jarkko<br> last_name: Laine</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>51<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><a name="OLE_LINK17"></a><a name="OLE_LINK18"><span style='mso-bookmark:OLE_LINK17'><span style='font-size:9.0pt'>Now we can rest assured that when we start testing viewing an author, we have two items <br> in our </span></span></a><span style='mso-bookmark:OLE_LINK18'><span style='mso-bookmark:OLE_LINK17'><span style='font-size:9.0pt;font-family: Verdana'>authors</span></span></span><span style='mso-bookmark:OLE_LINK18'><span style='mso-bookmark:OLE_LINK17'><span style='font-size:9.0pt'> table. </span></span></span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Now we can rest assured that when we start testing viewing an author, we have two items <br> in our </span><span style='font-size:9.0pt;font-family:Verdana'>authors</span><span style='font-size:9.0pt'> table. </span><span style='font-size:9.0pt; font-family:Verdana'>If you want to use the same fixture data in your development environment, run rake </span><span style='font-size:9.0pt; font-family:"TheSansMonoCon-4 SemiLight"'>db:fixtures:load</span><span style='font-size:9.0pt;font-family:Verdana'> to load the fixtures in the development database.</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>82<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>When you run the test, there is a validation failure on <br> each of the fields—eight in total.<o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>When you run the test, there is a validation failure on <br> each of the fields—seven in total.<o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>84<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>:title => 'Rails E-Commerce 3nd Edition', </span><span style='font-size: 9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>:title => 'Rails E-Commerce 3rd Edition', </span><span style='font-size: 9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>85<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>$ tail -f logs/test.log </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>$ tail -f log/test.log </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>86<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>pro_rails_ecommerce_1: <br> author_id: 1 <br> book_id: 1 <br> pro_rails_ecommerce_2: <br> author_id: 2 <br> book_id: 1 </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>pro_rails_ecommerce_1: <br> author_id: 3 <br> book_id: 1 <br> pro_rails_ecommerce_2: <br> author_id: 4 <br> book_id: 1 </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>98<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><p><label for="book_price">Page count</label><br/> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><p><label for="book_page_count">Page count</label><br/> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>101<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Émultiple-selection list are displayed on the screen. <o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Émultiple-selection list are displayed on the screen.<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'> <o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><b>Note </b></span><span style='font-size:9.0pt;font-family:Verdana'>There is a bug in the current Rails code that causes assert_tag fail on subsequent requests inside a single test method. See <span style='color:blue'><u><a href="http://dev.rubyonrails.org/ticket/6834">http://dev.rubyonrails.org/ticket/6834</a></u></span> for details on how to avoid this. The bug will hopefully be fixed in version 1.2.</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>109<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>$ test/integration/book_test.rb </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>$ ruby test/integration/book_test.rb </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>112<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Again, run the tests with </span><span style='font-size:9.0pt;font-family:Verdana'>rake test:integrations</span><span style='font-size:9.0pt'>. <o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Again, run the tests with </span><span style='font-size:9.0pt;font-family:Verdana'>rake test:integration</span><span style='font-size:9.0pt'>. <o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>119<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>map.connect ", :controller => "catalog" </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>map.connect '', :controller => "catalog" <br> <br> (replace the double quote after .connect with two single quotes)</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>120<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'> :content => "by <span style='color:blue'><u>#{@book.authors.map{|a</u></span>| a.name}}" </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'> :content => "by <span style='color:blue'><u>#{@book.authors.map{|a</u></span>| a.name}.join(", ")}"</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>132<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><dt><%= link_to book.title.t, :action => "show", :id => book %></dt> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><dt><%= link_to book.title, :action => "show", :id => book %></dt></span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>142<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>(addition to the bottom of the page)<o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>You also need to load the needed fixtures for the tests:<br> <br> </span><span style='font-size:9.0pt;font-family:"TheSansMonoCon-4 SemiLight"'> fixtures :authors, :publishers, :books, :authors_books</span><span style='font-size: 9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>158<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><dt><%= link_to book.title.t, :action => "show", :id => book %></dt> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><dt><%= link_to book.title, :action => "show", :id => book %></dt> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>158<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><dd><small><%= 'Publisher'.t %>: <%= book.publisher.name %></small></dd> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><dd><small><%= 'Publisher' %>: <%= book.publisher.name %></small></dd> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>158<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>the following at the bottom of </span><span style='font-size:9.0pt;font-family:Verdana'>public/javascripts/style.css</span><span style='font-size:9.0pt'>:<o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>the following at the bottom of </span><span style='font-size:9.0pt;font-family:Verdana'>public/stylesheets/style.css</span><span style='font-size:9.0pt'>:</span><span style='font-size:9.0pt;font-family: Verdana'> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>164<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>page.replace_html "cart_total", "<strong>Total: <span style='color:blue'><u>$#{@cart.total}</strong</u></span>>" </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>page.replace_html "cart_total", "<strong>Total: $#{sprintf("%0.2f", @cart.total)}</strong>" </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>167<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><p id="cart_total"><strong>Total: $<%= @cart.total %></strong></p> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'> <p id="cart_total"><strong>Total: $<%= sprintf("%0.2f", @cart.total) %> </span><span style='font-size:9.0pt;font-family:"Zapf Dingbats"'>➥</span><span style='font-size:9.0pt;font-family:Verdana'> <br> </strong></p> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>173<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>create db/migrate/005_create_forum_posts.rb </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>create db/migrate/007_create_forum_posts.rb </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>175<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>too long, which is why it is limited to between 5 and 250 characters. <o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>too long, which is why it is limited to between 5 and 255 characters. <o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>188<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>#{post.created_at.strftime("%H:%M:%S %Y-%M-%d") } </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>#{post.created_at.strftime("%H:%M:%S %Y-%m-%d") } </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>191<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><%= link_to 'Back', :action => 'list' %> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><%= link_to 'Back', :action => 'index' %> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>199<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>(Remove the following paragraph:)</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>The location of the repository depends on your system and RubyGems configuration. On our <br> machine, the gem was installed in </span><span style='font-size:9.0pt; font-family:Verdana'>/usr/lib/ruby/gems/1.8/gems/acts_as_taggable-2.0.2/</span><span style='font-size:9.0pt'>. <o:p></o:p></span></p> </td> </tr> <tr style='height:17.0pt'> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt;height:17.0pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>201<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt; height:17.0pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>Create db/migrate/006_create_tags_and_books_tags.rb </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt; height:17.0pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>create db/migrate/008_create_tags_and_books_tags.rb </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>207<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>George entering the tags </span><span style='font-size:9.0pt;font-family:Helvetica'>Elvis, Thriller, and Cooking in the Tags field.</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>George entering the tags </span><span style='font-size:9.0pt;font-family:Helvetica'>Ruby, Programming, and Dummies in the Tags field.</span><span style='font-size: 9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>213<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Next, change the </span><span style='font-size:9.0pt;font-family:Verdana'>edit</span><span style='font-size:9.0pt'> action in </span><span style='font-size:9.0pt; font-family:Verdana'>app/controllers/admin/book_controller.rb</span><span style='font-size:9.0pt'> as follows:</span><span style='font-size:9.0pt; font-family:Verdana'> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Next, change the </span><span style='font-size:9.0pt;font-family:Helvetica'>update</span><span style='font-size:9.0pt'> action in </span><span style='font-size:9.0pt; font-family:Verdana'>app/controllers/admin/book_controller.rb</span><span style='font-size:9.0pt'> as follows:</span><span style='font-size:9.0pt; font-family:Verdana'> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>215<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>The Show Tag user story describes how customers should be able to view all tags in the system. <o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>The List Tags and Show Tag user stories describe how customers should be able to view all tags in the system. <o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt;font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>(Remove the following paragraph:)</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Before we continue with the next user story implementation, George reminds us that he <br> expects us to complete the three remaining user stories today: ÒI have friends in Bangalore! IÕll <br> just offshore the whole project to India, if you canÕt get it done today.Ó <br> To speed up development, weÕll use the </span><span style='font-size:9.0pt; font-family:Verdana'>generate</span><span style='font-size:9.0pt'> script to create a new controller. <o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>216<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'> as weÕll show you next <o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'> as weÕll show you next .<o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>216<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Next, add the following code to </span><span style='font-size:9.0pt;font-family:Verdana'>app/views/admin/books/list.rhtml</span><span style='font-size:9.0pt'>:</span><span style='font-size:9.0pt;font-family: Verdana'> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt'>Next, add the following code to </span><span style='font-size:9.0pt;font-family:Verdana'>app/views/tag/list.rhtml</span><span style='font-size:9.0pt'>:</span><span style='font-size:9.0pt;font-family: Verdana'> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>226<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>$ rake migrate </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>$ rake db:migrate</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>234<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>assert_equal "Incorrect login!", flash[:notice] </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>assert_tag :tag => 'div',<br> :attributes => { :id => 'notice' },<br> :content => 'Incorrect login!'</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>237<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><% if current_user %> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'><% if logged_in? %> </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>242<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>update_attributes(:password_reset_code => nil) </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>update_attributes(:pw_reset_code => nil) </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>258<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Times-Roman'>The credit card fields are validated only on </span><span style='font-size:9.0pt; font-family:Helvetica'>create, as they donÕt exist in the database.</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Times-Roman'>The credit card fields are validated only on </span><span style='font-size:9.0pt; font-family:Helvetica'>create, as they donÕt exist in the database.<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'><<start<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'>Since we are validating that the status of an order is always "open", "processed", "closed" or "failed", the validation will fail if the status is empty. Therefore we should set it automatically when a new order is created. We can do it by adding the following filter to the Order class:<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'>class Order < ActiveRecord::Base<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'> before_validation :set_status<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'> ...<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'> protected<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'> <o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'> def set_status<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'> self.status = "open" if self.status.blank?<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'> end<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'> ...<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'>end<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'>The filter checks whether the status is already set before any validations are run, and if not, it sets the status to "open".<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana'>end>><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>258<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Times-Roman'>We should also take care that the amount and price are correct,</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Times-Roman'>We should also take care that the amount and price are correct for each order item,</span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>258<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'> assert_equal 15, order.errors.size </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'>assert_equal 16, order.errors.size </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>270<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Times-Roman'>The following code for the </span><span style='font-size:9.0pt;font-family:Verdana'>process</span><span style='font-size:9.0pt;font-family:Times-Roman'> method should be added to the </span><span style='font-size:9.0pt;font-family:Verdana'>Order</span><span style='font-size:9.0pt;font-family:Times-Roman'> model </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Times-Roman'>The following code for the </span><span style='font-size:9.0pt;font-family:Verdana'>process</span><span style='font-size:9.0pt;font-family:Times-Roman'> method should be added to the public section of the </span><span style='font-size:9.0pt; font-family:Verdana'>Order</span><span style='font-size:9.0pt;font-family: Times-Roman'> model </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>279<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana; color:blue'><u style='text-underline:blue'>http://rails.technoweenie.net/tip/2006/6/5/country_select_with_country_codes</u></span><span style='font-size:9.0pt;font-family:Verdana'>. </span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana; color:blue'><u style='text-underline:blue'>http://www.railsweenie.com/forums/2/topics/756</u></span><span style='font-size:9.0pt;font-family:Verdana'>.</span><span style='font-size: 9.0pt'><o:p></o:p></span></p> </td> </tr> <tr> <td width=36 style='width:35.5pt;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:9.0pt; font-family:Verdana;color:#333333'>291<o:p></o:p></span></p> </td> <td width=369 style='width:368.6pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'> $<%= item.price * item.amount %></br> </span><span style='font-size: 9.0pt'><o:p></o:p></span></p> </td> <td width=279 style='width:279.0pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Verdana'> $<%= item.price * item.amount %><br /></span><span style='font-size:9.0pt'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><span style='font-size:9.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p></div></body></html>