functionality yourself, another option is to use a "CRUD builder" type
of tool to automate the process. You get less control, but it can be
quick and easy. For example, see
-L<Catalyst::Plugin::AutoCRUD|Catalyst::Plugin::AutoCRUD>,
-L<CatalystX::CRUD|CatalystX::CRUD>, and
-L<CatalystX::CRUD::YUI|CatalystX::CRUD::YUI>.
+L<Catalyst::Plugin::AutoCRUD>,
+L<CatalystX::CRUD>, and
+L<CatalystX::CRUD::YUI>.
You can check out the source code for this example from the Catalyst
Subversion repository as per the instructions in
-L<Catalyst::Manual::Tutorial::01_Intro|Catalyst::Manual::Tutorial::01_Intro>.
+L<Catalyst::Manual::Tutorial::01_Intro>.
=head1 FORMLESS SUBMISSION
The TT C<USE> directive allows access to a variety of plugin modules
(TT plugins, that is, not Catalyst plugins) to add extra functionality
to the base TT capabilities. Here, the plugin allows
-L<Data::Dumper|Data::Dumper> "pretty printing" of objects and
+L<Data::Dumper> "pretty printing" of objects and
variables. Other than that, the rest of the code should be familiar
from the examples in Chapter 3.
with the base method and delete feature below. But Chained dispatch
is capable of far more. For additional information, see
L<Catalyst::Manual::Intro/Action types>,
-L<Catalyst::DispatchType::Chained|Catalyst::DispatchType::Chained>,
+L<Catalyst::DispatchType::Chained>,
and the 2006 Advent calendar entry on the subject:
L<http://www.catalystframework.org/calendar/2006/10>.
| /books/url_create/*/*/* | /books/url_create |
'-------------------------------------+--------------------------------------'
-C<url_create> has disappeared form the "Loaded Path actions" section
+C<url_create> has disappeared from the "Loaded Path actions" section
but it now shows up under the newly created "Loaded Chained actions"
section. And the "/*/*/*" portion clearly shows our requirement for
three arguments.
=head2 Try the Delete Feature
-One you save the Books controller, the server should automatically restart.
+Once you save the Books controller, the server should automatically restart.
The C<delete> method should now appear in the "Loaded Chained actions" section
of the startup debug output:
...
<div id="content">
[%# Status and error messages %]
- <span class="message">[% status_msg || c.request.params.status_msg %]</span>
+ <span class="message">[% status_msg || c.request.params.status_msg | html %]</span>
<span class="error">[% error_msg %]</span>
[%# This is where TT will stick all of your template's contents. -%]
[% content %]
exists "/root/dev/MyApp/script/../lib/MyApp/Model/DB.pm"
Notice that we modified our use of the helper slightly: we told
-it to include the L<DBIx::Class::TimeStamp|DBIx::Class::TimeStamp>
+it to include the L<DBIx::Class::TimeStamp>
in the C<load_components> line of the Result Classes.
If you open C<lib/MyApp/Schema/Result/Book.pm> in your editor you should
Result Class, it keeps the code inside our TT template nice and clean
(remember, we want the templates to be as close to pure HTML markup as
possible). Obviously, this capability becomes even more useful as you
-use to to remove even more complicated row-specific logic from your
+use it to remove even more complicated row-specific logic from your
templates!
is now self-documenting and readable enough that you could probably get
by with no comments at all. All of the "complex" work is being done in
our Result Class methods (and, because we have broken the code into
-nice, modular chucks, the Result Class code is hardly something you
+nice, modular chunks, the Result Class code is hardly something you
would call complex).
As we saw in this section, always strive to keep your view AND
Kennedy Clark, C<hkclark@gmail.com>
-Please report any errors, issues or suggestions to the author. The
-most recent version of the Catalyst Tutorial can be found at
+Feel free to contact the author for any errors or suggestions, but the
+best way to report issues is via the CPAN RT Bug system at
+<https://rt.cpan.org/Public/Dist/Display.html?Name=Catalyst-Manual>.
+
+The most recent version of the Catalyst Tutorial can be found at
L<http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/Tutorial/>.
-Copyright 2006-2008, Kennedy Clark, under Creative Commons License
+Copyright 2006-2010, Kennedy Clark, under the
+Creative Commons Attribution Share-Alike License Version 3.0
(L<http://creativecommons.org/licenses/by-sa/3.0/us/>).