Fix errors in FormFu.pod (thanks to Adam Witney).
Kennedy Clark [Thu, 12 Mar 2009 17:57:17 +0000 (17:57 +0000)]
Prep for release.

Changes
lib/Catalyst/Manual.pm
lib/Catalyst/Manual/Tutorial.pod
lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod

diff --git a/Changes b/Changes
index 18b47fc..616e188 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,8 @@
 Revision history for Catalyst-Manual
 
+5.7020  12 Mar 2009
+        - Fix errors in FormFu chapter.
+
 5.7019  11 Mar 2009
         - Change from the use of "part" to refer to each .pod file for the
             tutorial in favor of the more intuitive word "chapter."  "Part" 
index 5bd01eb..bb2d453 100644 (file)
@@ -6,7 +6,7 @@ package Catalyst::Manual;
 use strict;
 use warnings;
 
-our $VERSION = '5.7019';
+our $VERSION = '5.7020';
 
 =head1 NAME
 
index b9a21c3..ec4e4db 100644 (file)
@@ -705,10 +705,10 @@ tutorial.  As of the most recent release, this include: Florian
 Ragwitz, Mauro Andreolini, Jim Howard, Giovanni Gigante, William 
 Moreno,  Bryan Roach, Ashley Berlin, David Kamholz, Kevin Old, Henning 
 Sprang, Jeremy Jones, David Kurtz, Ingo Wichmann, Shlomi Fish, Murray 
-Walker.  Also, thanks to Devin Austin for coming up with an initial 
-version of a non-TTSite wrapper page.  I'm sure I am missing some 
-names here... apologies for that (please let me know if you name 
-should be here).
+Walker and Adam Witney.  Also, thanks to Devin Austin for coming up 
+with an initial version of a non-TTSite wrapper page.  I'm sure I am 
+missing some names here... apologies for that (please let me know if 
+you name should be here).
 
 =back
 
index f261950..6f8e31a 100644 (file)
@@ -121,7 +121,7 @@ following method:
     
     =cut
     
-    sub formfu_create :Chained('base) :PathPart('formfu_create') :Args(0) :FormConfig {
+    sub formfu_create :Chained('base') :PathPart('formfu_create') :Args(0) :FormConfig {
         my ($self, $c) = @_;
     
         # Get the form that the :FormConfig attribute saved in the stash
@@ -450,10 +450,10 @@ bottom:
     
     sub formfu_edit :Chained('object') :PathPart('formfu_edit') :Args(0) 
             :FormConfig('books/formfu_create.yml') {
-        my ($self, $c, $id) = @_;
+        my ($self, $c) = @_;
     
-        # Get the specified book
-        my $book = $c->model('DB::Books')->find($id);
+        # Get the specified book already saved by the 'base' method
+        my $book = $c->stash->{object};
     
         # Make sure we were able to get a book
         unless ($book) {
@@ -481,7 +481,7 @@ bottom:
             my @author_objs = $c->model("DB::Authors")->all();
             # Create an array of arrayrefs where each arrayref is an author
             my @authors;
-            foreach (sort {$a->last_name cmp $b->last_name} @author_bjs) {
+            foreach (sort {$a->last_name cmp $b->last_name} @author_objs) {
                 push(@authors, [$_->id, $_->last_name]);
             }
             # Get the select added by the config file
@@ -504,17 +504,25 @@ the common code in separate methods).  The main differences are:
 
 =item *
 
-We accept C<$id> as an argument via the URL.
+We have to manually specify the name of the FormFu .yml file as an 
+argument to C<:FormConfig> because the name can no longer be 
+automatically deduced from the name of our action/method (by default,
+FormFu would look for a file named C<books/formfu_edit.yml>).
 
 =item *
 
-We use C<$id> to look up the existing book from the database.
+We load the book object from the stash (found using the $id passed to 
+the Chained object method)
 
 =item *
 
-We make sure the C<$id> and book lookup returned a valid book.  If not, 
-we set the error message and return to the book list.
+We use C<$id> to look up the existing book from the database.
+
+=item *
 
+We make sure the book lookup returned a valid book.  If not, we set 
+the error message and return to the book list.
 =item *
 
 If the form has been submitted and passes validation, we skip creating a