Hello -
I am semi new to Perl and Catalyst. I have walked through the Catalyst tutorial a couple times and have also picked up a couple books and done much googling that always seem to get me close but leave me hanging.
Have been looking at tons of docs for catalyst::controller::rest and catalyst::view::json amongst many others and can't find joy.
Anyway -- I think I would be on the right track if someone solved this basic inquiry:
Working from this example:
http://www.catalystframework.org/calendar/2009/22# An AJAX CRUD Interface with Catalyst and jQuery<http://www.catalystframework.org/calendar/2009/22#%20An%20AJAX%20CRUD%20Interface%20with%20Catalyst%20and%20jQuery>
which I have working fine, fwiw...
How would you expose the "created" column from the db (schema came from here: http://search.cpan.org/~bobtfish/Catalyst-Manual-5.9003/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod<http://search.cpan.org/%7Ebobtfish/Catalyst-Manual-5.9003/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod> and is, in this example, a sqlite TIMESTAMP col) in the JSON generated by the API controller's grid_POST method?
If I simply add the column to the API controller here:
<snip>
$data{rows} = [.
map { +{
id => $_->id,
cell => [
$_->id,
$_->title,
$_->rating,
$_->author_list,
$_->created,
]
} } $paged_rs->all
];
</snip>
The app throws this:
Content-Type application/json had a problem with your request.
***ERROR***
encountered object '2012-02-29T17:16:27', but neither allow_blessed enabled nor TO_JSON method available on it at /usr/local/share/perl/5.12.4/Catalyst/Action/Serialize/JSON.pm line 39.
And I realize I'm not serializing the timestamp appropriately (and how data with colons are bound to cause issues in JSON)... but this simple thing is what I haven't been able to solve.
Any guidance greatly appreciated.
Thanks -
Steve
P.S. For penance I will create some documentation of the working example and check it in somewhere useful or host a living doc on one of my websites to help others.
Steve Seremeth | Release Engineer
[Dealer.com]
steve.seremeth@dealer.com<mailto:{Message%20Sender}>
V : 877.327.8422 x 1391
FOLLOW US:
[Like Dealer.com]<http://www.facebook.com/DealerDotCom> [Follow Dealer.com] <https://twitter.com/#!/DealerDotCom> [Follow Dealer.com] <http://www.linkedin.com/company/dealer.com> [Dealer.com Channel] <http://www.youtube.com/user/DealerDotCom> [Dealer.com Blog] <http://www.dealer.com/blog.htm>
I am semi new to Perl and Catalyst. I have walked through the Catalyst tutorial a couple times and have also picked up a couple books and done much googling that always seem to get me close but leave me hanging.
Have been looking at tons of docs for catalyst::controller::rest and catalyst::view::json amongst many others and can't find joy.
Anyway -- I think I would be on the right track if someone solved this basic inquiry:
Working from this example:
http://www.catalystframework.org/calendar/2009/22# An AJAX CRUD Interface with Catalyst and jQuery<http://www.catalystframework.org/calendar/2009/22#%20An%20AJAX%20CRUD%20Interface%20with%20Catalyst%20and%20jQuery>
which I have working fine, fwiw...
How would you expose the "created" column from the db (schema came from here: http://search.cpan.org/~bobtfish/Catalyst-Manual-5.9003/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod<http://search.cpan.org/%7Ebobtfish/Catalyst-Manual-5.9003/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod> and is, in this example, a sqlite TIMESTAMP col) in the JSON generated by the API controller's grid_POST method?
If I simply add the column to the API controller here:
<snip>
$data{rows} = [.
map { +{
id => $_->id,
cell => [
$_->id,
$_->title,
$_->rating,
$_->author_list,
$_->created,
]
} } $paged_rs->all
];
</snip>
The app throws this:
Content-Type application/json had a problem with your request.
***ERROR***
encountered object '2012-02-29T17:16:27', but neither allow_blessed enabled nor TO_JSON method available on it at /usr/local/share/perl/5.12.4/Catalyst/Action/Serialize/JSON.pm line 39.
And I realize I'm not serializing the timestamp appropriately (and how data with colons are bound to cause issues in JSON)... but this simple thing is what I haven't been able to solve.
Any guidance greatly appreciated.
Thanks -
Steve
P.S. For penance I will create some documentation of the working example and check it in somewhere useful or host a living doc on one of my websites to help others.
Steve Seremeth | Release Engineer
[Dealer.com]
steve.seremeth@dealer.com<mailto:{Message%20Sender}>
V : 877.327.8422 x 1391
FOLLOW US:
[Like Dealer.com]<http://www.facebook.com/DealerDotCom> [Follow Dealer.com] <https://twitter.com/#!/DealerDotCom> [Follow Dealer.com] <http://www.linkedin.com/company/dealer.com> [Dealer.com Channel] <http://www.youtube.com/user/DealerDotCom> [Dealer.com Blog] <http://www.dealer.com/blog.htm>