From: Kennedy Clark Date: Thu, 12 Mar 2009 17:57:17 +0000 (+0000) Subject: Fix errors in FormFu.pod (thanks to Adam Witney). X-Git-Tag: v5.8005~180 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=commitdiff_plain;h=ccc9b2bc4d91c14340ba6547d79fb0e70ee7d0f6 Fix errors in FormFu.pod (thanks to Adam Witney). Prep for release. --- diff --git a/Changes b/Changes index 18b47fc..616e188 100644 --- 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" diff --git a/lib/Catalyst/Manual.pm b/lib/Catalyst/Manual.pm index 5bd01eb..bb2d453 100644 --- a/lib/Catalyst/Manual.pm +++ b/lib/Catalyst/Manual.pm @@ -6,7 +6,7 @@ package Catalyst::Manual; use strict; use warnings; -our $VERSION = '5.7019'; +our $VERSION = '5.7020'; =head1 NAME diff --git a/lib/Catalyst/Manual/Tutorial.pod b/lib/Catalyst/Manual/Tutorial.pod index b9a21c3..ec4e4db 100644 --- a/lib/Catalyst/Manual/Tutorial.pod +++ b/lib/Catalyst/Manual/Tutorial.pod @@ -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 diff --git a/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod b/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod index f261950..6f8e31a 100644 --- a/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod +++ b/lib/Catalyst/Manual/Tutorial/AdvancedCRUD/FormFu.pod @@ -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). =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