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

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

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

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

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

PDF Paper Description Found in Fixed in
1

#43522: With newer versions of grails, BootStrap does not work unless you add import tekdays.*--Larry

P1.0
01-Jun-10
1

#45420: yes--Catherine

P1.0
21-Oct-10
1
#41953: Grails 1.2 was just released, and many of the scripts highlighted in this book have changed slightly. They are now suggesting that all new obj...more...
P1.0
30-Dec-09
1
#41954: It might be useful to introduce people to the "grails clean" command early in the book. I had a number of confusing error messages that wasted...more...
P1.0
30-Dec-09
42
#41883: Using Grails 1.1.2: This also applies to all other references to the relationships between TekEvent->TekUser. In the Show GSP pages I see the ...more...
P1.0
21-Dec-09
46
#44200: When creating the TekUser domain class the toString() code needs to read as follows to work properly in the view layer: String toString()...more...
P1.0
20-Jul-10
51

#39867: Figure 4.2 on page 51 is placed in the middle of the code snippet.--John

David J Klein says: I think this type of thing will be cleaned up during the final typesetting, but thanks for taking the time to report it. Dave
B4.0
08-Jul-09
52

#41909: In "We're giving the Map a firstName element for clarity", should fullName be used instead of firstName?--Paul Stackhouse

P1.0
23-Dec-09
54
#42245: ********************************************* String toString(){ fullName } should have been String toString(){ "$fullName" } *****...more...
P1.0
02-Feb-10
54

#41704: The linked BootStrap.groovy doesn't match the chapter's material (it's actually the final one).

P1.0
04-Dec-09
56

#42241: The version of Bootstrap.groovy that can be downloaded does not correspond (contains code related to later chapter) to the text.--Carsten Hess

P1.0
02-Feb-10
59

#39899: Figure 4.5 is in the middle of code snippet.--John J. Penrod

David J Klein says: This should get fixed in typesetting.
B4.0
09-Jul-09
60
#44199: When defining the Sponsorship Domain Class the following code is required to get the view layer to display the Sponsor's name: String t...more...
P1.0
20-Jul-10
60

#41644: first paragraph: should be "fullName" rather than "firstName" in

"We're giving the Map a firstName element for clarity..."

--John Cartwright

P1.0
28-Nov-09
60

#39902: Figure 4.6 precedes the section header (4.5 Adding a Sponsor Class) that it is related to. This may not be desirable.--John J. Penrod

David J Klein says: This too should be fixed in typesetting.
B4.0
09-Jul-09
63
#42356: Hi! In figure 4.9 on page 63 above you have put a graphical display of the "Task" class. One of its properties is "String description"; ho...more...
P1.0
21-Feb-10
65
#42246: ****************************************************** String toString(){ name } should have been String toString(){ "$name"...more...
P1.0
03-Feb-10
66
#43703: In the constraints list: * inList: Value must be included in the supplied listv should probably be: * inList: Value must be included...more...
P1.0
10-Jun-10
69 61
#41966: needed to alter for grails 1.2.0 (also needed for sp2) def sp1 = new Sponsorship(/*event:g1, sponsor:s1,*/ contributionType:'O...more...
P1.0
31-Dec-09
72

#47123: Next we’ll create the Message class

suggestion

Next we’ll create the Message domani class--Giacomo Cosenza

P1.0
29-May-11
78
#40941: At the bottom of the page: "Since it is a Groovy Map, any element to which we assign a value will be added if it doesn’t exist." Remove "if i...more...
B7.0
07-Oct-09
81
#47216: The following set contains a error in the code: else { flash.message = "TekEvent not found with id ${params.id}" redirect(action:...more...
P1.0
23-Jun-11
103
#42018: The following code causes an error in the display <g:each var="s" in="${tekEventInstance.sponsorships}"> <li><g:link controller="sponsorsh...more...
P1.0
06-Jan-10
103
#42669: Hi On page 103 of the book (I think it's page 113 for the PDF; see Jeff Schmidt's comment as well) there is no mention of adding a toString...more...
P1.0
05-Apr-10
108
#41159: 2nd paragraph under 6.4 Grails Service Classes. 2nd sentence states "doesn't fit well in any a domain class". Should be "doesn't fit well in a...more...
P1.0
03-Nov-09
111
#41160: In Figure 6.6, the task titles are displayed under Tasks. After creating the Task domain class on page 71, the toString() method is never defi...more...
P1.0
03-Nov-09
113
#46277: Mismatch between instructions in paper version of the book and the accompanying code: Adds the css class 'messageField' to the markup but thi...more...
P1.0
20-Jan-11
116
#46286: The cut and paste of code into the new ajaxList.gsp at the top of page 116 should read: <g:link class="create" action="create" params='["event...more...
P1.0
21-Jan-11
131
#47201: The margin-left property needs to specify a dimension value. Change: out << "<div style='height:30; margin-left:${indent * 20};'>" To: ...more...
P1.0
19-Jun-11
175
#41952: In the code listing that ends at the top of this page (for search.gsp), there are one too many </div> tags. There is a DIV for the nav section...more...
P1.0
30-Dec-09
188

#47232: Twitter integration may be different, because it is not possible to post to Twitter.--Francesco Facconi

P1.0
29-Jun-11
196
#41050: In the code listing if (params.nickname) flash.message = "TekEvent not found with id ${params.id}" else flash.message = "TekEvent not fo...more...
P1.0
22-Oct-09