- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Catalyst应用程序并希望根据条件语句进行重定向。我在这方面遇到了麻烦,我想知道是否有人可以洞察为什么这个看似简单的任务被证明是困难的。
在我的 Root.pm
模块我有一个子begin
并可以重定向到另一个网站,例如www.perl.org
,但我无法重定向到我的应用程序中的页面。关于如何进行条件重定向的任何想法?
sub begin : Private {
my ( $self, $c ) = @_;
$c->stash->{client_id} = somenumber; # I'm setting this manually for testing
$c->res->redirect('http://www.perl.org/') unless $c->stash->{client_id};
$c->res->redirect('http://www.mysite.com/success') if $c->stash->{client_id}; #does not
}
最佳答案
也许你陷入了一个无限循环,你的 begin
sub 将用户重定向到 Catalyst 应用程序中的另一个页面;一旦“识别出将运行的 Controller ,但在调用任何 URL 匹配操作之前”(from the Catalyst::Manual::Intro
man page),begin
将再次被调用,导致另一个重定向等等。
尝试将此代码移出 begin
完全;也许,正如 Htbaa 建议的那样,auto
可能是你正在寻找的。标准$c->detach
案例(在 Controller controller
中)是:
sub check_login :Local {
# do something
$c->detach('controller/login_successful') if($success);
# display error message
}
sub login_successful :Local {
# do something with the logged in user.
}
$c->res->redirect('http://example.com/login_successful')
应该也可以正常工作。希望有帮助!
关于perl - 为什么 Catalyst 中的这种条件重定向不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5542603/
更新到 Xcode 12.2 后,由于与 Apple Silicon 相关的链接错误,我的项目开始无法编译。我似乎已经修复了大部分问题,但是一个构建静态链接框架的子项目给我带来了问题。然而,具有明显相
我想使用 UISceneSession 的委托(delegate)方法当用户将注意力从应用程序(窗口)移开,然后又回到应用程序(窗口)时,生命周期有助于通知我的 Mac Catalyst 应用程序。
Mac Catalyst 允许调整窗口大小,有没有办法为 Mac Catalyst 应用程序提供最小窗口大小? 最佳答案 只需将以下代码块添加到您的 application:didFinishLaun
如何在业务催化剂中编辑模板?我可以从用户界面执行此操作还是需要 Dreamweaver 或其他一些产品? 我用谷歌搜索,但找不到答案...... 当我登录时,在网站选项卡下,有站点编辑器、网页、博客和
我正在使用 Test::WWW::Mechanize::Catalyst 为基于 Perl Catalyst 的 Web 应用程序编写测试用例。我卡在某个地方,我想通过打印变量/哈希值来排除故障。但问
我现在正在开发 Businesss Catalyst Web App,但遇到了一个严重的问题。我需要混淆 Web 应用程序的电子邮件字段。不幸的是,没有简单的方法可以做到这一点,因为来自 Web 应用
目标是在 Mac Catalyst 上制作一个半透明的侧边栏。 下面的代码给出了一个不透明的侧边栏(图 1)。 在 Mac(不是催化剂)上,侧边栏看起来不错(图 2)。 Mac Catalyst 上是
我构建了一个允许人们上传图像的网络应用程序,该图像将显示在网络应用程序列表中。我需要将图像自动调整为更适合的大小,例如缩略图。 最佳答案 Adobe Business Catalyst 将解释 src
我通过使用以下方式在催化剂应用程序中使用上下文菜单 let interaction = UIContextMenuInteraction(delegate: self) editButton.addI
我正在开发 Catalyst/psgi一个可以充分利用异步流的应用程序,但是除了简单的计时器(如这里: http://www.catalystframework.org/calendar/2013/1
在我的阶段服务器中,我想激活调试,以便客户端可以在应用程序进入生产服务器之前自行发现错误。 但我只想要消息的第一部分,而不是请求或 session 数据。 例如:无法渲染模板“templates/ho
我注意到在结帐过程中,您无需成为成员(member)即可结帐。 我该如何防止这种情况发生?我需要任何购买的人都可以选择登录(如果他们有帐户)或在结帐过程中注册。 最佳答案 您可以使用 islogged
您好,我不想在 Controller 中重复相同的代码,所以我在 MyApp 主程序包中创建了一个子程序: sub do_stuff { my $input = shift; do s
在 Mac Catalyst 上,我的应用程序的文本字段 becomeFirstResponder() 功能不起作用。我尝试将这段代码放在 viewwillappear 中: override fun
我正在使用 Perl,我可以使用以下命令连接到本地 PostgreSQL 9.3 服务器这段代码 #!/usr/bin/perl use DBI; use strict; my $dbh = DBI-
这是我的第一个 Catalyst 应用程序,我不确定如何解决以下问题。 用户在表单中输入一些数据并选择一个文件(最大 100MB)进行上传。提交表单后,实际计算最多需要 5 分钟,结果存储在数据库中。
下面的代码是如何用 Perl 实现的? sub add_item : Local { my ( $self, $c ) = @_; my $item_id = $c->req->p
每次我构建 Catalyst 应用程序时,我都会遇到应用程序启动(重新)缓慢得令人痛苦的地步,延迟大约为 10 秒。今天我发现延迟是由以下几行引起的: use lib '/home/zoul/opt/
我希望以下代码 my @array; for my $rapport ( qw( value1 value2 value3 ) ) { push @array, { key => $rappo
我正在开发一个将在运行时生成数据库表的应用程序。我将 Catalyst 与 DBIC 一起使用,我需要在生成新表时生成新的 ResultSet。这个新的结果集必须作为催化剂模型添加,这样我才能$c->
我是一名优秀的程序员,十分优秀!