X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial%2FBasicCRUD.pod;h=b06639553e3fbec202f141cb64fc0d3e3f820a54;hb=936a5dd5c424d816dd470690473c1e38127a0c3c;hp=6c8e4308c6d2eece8e37a423c2b814127d7c5a82;hpb=292eba91f41f6be26c6f432293a39b0ea938429d;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Manual/Tutorial/BasicCRUD.pod b/lib/Catalyst/Manual/Tutorial/BasicCRUD.pod index 6c8e430..b066395 100644 --- a/lib/Catalyst/Manual/Tutorial/BasicCRUD.pod +++ b/lib/Catalyst/Manual/Tutorial/BasicCRUD.pod @@ -45,7 +45,7 @@ L =item 9 -L +L =back @@ -63,12 +63,9 @@ focus on the Create and Delete aspects of CRUD. More advanced capabilities, including full Update functionality, will be addressed in Part 8. -B: Note that all of the code for this part of the tutorial can be -pulled from the Catalyst Subversion repository in one step with the -following command: - - svn checkout http://dev.catalyst.perl.org/repos/Catalyst/trunk/examples/Tutorial -r 4611 . - +You can checkout the source code for this example from the catalyst +subversion repository as per the instructions in +L =head1 FORMLESS SUBMISSION @@ -146,13 +143,19 @@ Edit C and then enter: [% # simple strings (e.g., no variable interpolation). -%] [% META title = 'Book Created' %] - [% # Output information about the record that was added. Note use -%] - [% # of 'first' to only list the first author (if > 1 author). TT -%] - [% # v2.15 has an issue that requires -%] - [% # 'book.authors.list.first.value.last_name' vs. the shorter -%] - [% # 'book.authors.first.last_name' in prior versions. -%] -

Added book '[% book.title %]' - by '[% book.authors.list.first.value.last_name %]' + [% # Output information about the record that was added. First title. -%] +

Added book '[% book.title %]' + + [% # Output the last name of the first author. This is complicated by an -%] + [% # issue in TT 2.15 where blessed hash objects are not handled right. -%] + [% # First, fetch 'book.authors' from the DB once. -%] + [% authors = book.authors %] + [% # Now use IF statements to test if 'authors.first' is "working". If so, -%] + [% # we use it. Otherwise we use a hack that seems to keep TT 2.15 happy. -%] + by '[% authors.first.last_name IF authors.first; + authors.list.first.value.last_name IF ! authors.first %]' + + [% # Output the rating for the book that was added -%] with a rating of [% book.rating %].

[% # Provide a link back to the list page -%] @@ -257,7 +260,7 @@ C, the method created in the section that follows. =head2 Add Method to Process Form Values and Update Database Edit C and add the following method to -save the form information to the databse: +save the form information to the database: =head2 form_create_do @@ -312,7 +315,7 @@ Part 8. =head1 A SIMPLE DELETE FEATURE -Turning out attention to the delete portion of CRUD, this section +Turning our attention to the delete portion of CRUD, this section illustrates some basic techniques that can be used to remove information from the database. @@ -341,13 +344,16 @@ and 2) the four lines for the Delete link near the bottom). [% # First initialize a TT variable to hold a list. Then use a TT FOREACH -%] [% # loop in 'side effect notation' to load just the last names of the -%] - [% # authors into the list. Note that we are making a bogus assignment to -%] - [% # the 'xx' vbl to avoid printing the size of the list after each push. -%] + [% # authors into the list. Note that the 'push' TT vmethod does not -%] + [% # a value, so nothing will be printed here. But, if you have something -%] + [% # in TT that does return a method and you don't want it printed, you -%] + [% # can: 1) assign it to a bogus value, or 2) use the CALL keyword to -%] + [% # call it and discard the return value. -%] [% tt_authors = [ ]; - xx = tt_authors.push(author.last_name) FOREACH author = book.authors %] + tt_authors.push(author.last_name) FOREACH author = book.authors %] [% # Now use a TT 'virtual method' to display the author count -%] ([% tt_authors.size %]) - [% # Use another TT virtual method to join the names with comma separators -%] + [% # Use another TT vmethod to join & print the names & comma separators -%] [% tt_authors.join(', ') %] @@ -431,7 +437,7 @@ with a list of the six remaining books. Kennedy Clark, C Please report any errors, issues or suggestions to the author. The -most recent version of the Catlayst Tutorial can be found at +most recent version of the Catalyst Tutorial can be found at L. Copyright 2006, Kennedy Clark, under Creative Commons License