Index: /trunk/BookmarkController.pm
===================================================================
--- /trunk/BookmarkController.pm	(revision 62)
+++ /trunk/BookmarkController.pm	(revision 63)
@@ -360,13 +360,11 @@
         return [304, [], []] if $self->_check_modified($bookmark->mtime);
 
+        # check whether the requested field is part of the bookmark
+        if (!$bookmark->meta->has_attribute($field)) {
+            return [404, ['Content-Type' => 'text/plain; charset=UTF-8'], [qq{"$field" is not a valid bookmark data field}]];
+        }
+
         # respond with just the requested field as plain text
-        my $value = eval { $bookmark->$field };
-        if ($@) {
-            if ($@ =~ /Can't locate object method/) {
-                return [404, ['Content-Type' => 'text/plain; charset=UTF-8'], [qq{"$field" is not a valid bookmark data field}]];
-            } else {
-                die $@;
-            }
-        }
+        my $value = $bookmark->$field;
         my $last_modified = time2str($bookmark->mtime);
         return [200, ['Content-Type' => 'text/plain; charset=UTF-8', 'Last-Modified' => $last_modified], [ref $value eq 'ARRAY' ? join(' ', @{ $value }) : $value]];
@@ -376,5 +374,5 @@
 }
 
-sub create {
+sub create_and_redirect {
     my $self = shift;
 
@@ -393,5 +391,5 @@
 }
 
-sub edit {
+sub update_and_redirect {
     my $self = shift;
     my $id = shift;
Index: /trunk/app.psgi
===================================================================
--- /trunk/app.psgi	(revision 62)
+++ /trunk/app.psgi	(revision 63)
@@ -48,5 +48,5 @@
 
             # create the bookmark and redirect to the new bookmark's edit form
-            return $controller->create;
+            return $controller->create_and_redirect;
         };
     };
@@ -85,7 +85,5 @@
             my $controller = get_controller($req);
 
-            return $controller->edit($params->{id});
-
-            return [200, ['Content-Type' => 'text/plain'], ['update ', $params->{id}]];
+            return $controller->update_and_redirect($params->{id});
         };
     };
