work and ask
不工作的时候总是没有问题,可一工作,总是会碰到这样那样的问题。碰到问题解决问题,才算是学会点东西。
写 Catalyst 的时候用 Ajax, 然后某一动作需要先确定用户登陆。但是 Ajax 只是更新某一个 div, 所以在 Controller 里写 $c->res->redirect('/login') unless ($c->user_exists); 是没有用的。redirect 只对整个 page 有效,而对 Ajax 的 div 是没有效果的。
大致的代码如下:
Controller:
另两个是 DBIx::Class 的问题。
第一个是 debug 问题。我想在 Catalyst 开启 DBIx::Class 的 debug, 这样我用 perl server.pl 的时候能看到所有的 SQL 语句。这个其实很简单。只要设置
第二个是 update_or_create 的问题。因为 update_or_create 很好用。我们 new 或 edit 的时候就能采用同一的代码。new 是 create 而 edit 是 update, 但是我想知道什么时候是 create 什么时候是 update, 因为我要针对不同的 create 还是 update 写一点不同的代码。不过解决方案未知。也在问中。mailing list 的帖子在:http://lists.rawmode.org/pipermail/dbix-class/2006-April/thread.html#1192
写 Catalyst 的时候用 Ajax, 然后某一动作需要先确定用户登陆。但是 Ajax 只是更新某一个 div, 所以在 Controller 里写 $c->res->redirect('/login') unless ($c->user_exists); 是没有用的。redirect 只对整个 page 有效,而对 Ajax 的 div 是没有效果的。
大致的代码如下:
Controller:
sub vote : Global {
my ( $self, $c ) = @_;
$c->res->redirect('/login') unless ($c->user_exists);and TT files:var url = '/vote';目前没有解决方案。mailling list 的问题在这:http://lists.rawmode.org/pipermail/catalyst/2006-April/thread.html#6563
var myAjax = new Ajax.Updater('vote_result', url, {method: 'get',
parameters: pars});
<div id='vote_result'></div>
另两个是 DBIx::Class 的问题。
第一个是 debug 问题。我想在 Catalyst 开启 DBIx::Class 的 debug, 这样我用 perl server.pl 的时候能看到所有的 SQL 语句。这个其实很简单。只要设置
$ENV{DBIX_CLASS_STORAGE_DBI_DEBUG} = 1;将这个写在 Root.pm 的 sub auto 里就可以了。第二个是 update_or_create 的问题。因为 update_or_create 很好用。我们 new 或 edit 的时候就能采用同一的代码。new 是 create 而 edit 是 update, 但是我想知道什么时候是 create 什么时候是 update, 因为我要针对不同的 create 还是 update 写一点不同的代码。不过解决方案未知。也在问中。mailing list 的帖子在:http://lists.rawmode.org/pipermail/dbix-class/2006-April/thread.html#1192
0 Comments:
Post a Comment
Links to this post:
Create a Link
<< Home