问题标签 [catalyst]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
871 浏览

perl - Catalyst::Plugin::Authentication::Store::DBIC 和 Class::DBI 的示例

我正在尝试将 Class::DBI 与 Catalyst::Plugin::Authentication::Store::DBIC 一起使用。CPAN 上给出的示例不适用于 Class::DBI。例如,配置不正确:role_class => 'DB::Role' 必须替换为 role_class => 'MyApp::Model::DB::Role' 我使用普通 DBI 进行了身份验证,但我宁愿使用Class::DBI 就像我的应用程序的其余部分一样。

我找不到使用 Class:DBI 进行 Catalyst 身份验证的完整示例。你知道任何这样的教程吗?

0 投票
4 回答
383 浏览

ruby-on-rails - 使用具有大量依赖项的框架有什么问题?

我最近告诉一个朋友,我开始学习 Catalyst (Perl),他相当强烈地强调,因为 Catalyst 有如此多的依赖项,所以我应该改用 Rails 之类的东西。

有很多依赖项不是一件好事吗?这不是表示大量代码重用吗?我知道安装框架可能需要更多的努力,但还有其他缺点吗?

我将继续我的Catalyst 教程,直到我得到一些有趣的回应。:-)

0 投票
1 回答
470 浏览

perl - 如何使用进度条在 Catalyst 中开始长期运行的作业?

如何从 Catalyst 应用程序中开始一项长期运行的工作?我想要一个页面,用户可以从中上传 URL 列表,然后应用程序会去下载这些 URL。我需要实现一个 AJAX 进度指示器,然后显示该作业的状态。

0 投票
2 回答
414 浏览

perl - 如何根据 Content-Length 或 MIME-Type 中止 Catalyst 上传?

我尝试使用 parse_on_demand,如下所示: http ://search.cpan.org/~flora/Catalyst-Runtime-5.80007/lib/Catalyst.pm#ON-DEMAND_PARSER

但是,我似乎无法停止上传。我只是通过创建一个立即终止的操作来测试这个,但是浏览器似乎在它到达我的操作之前上传了我选择的非常大的文件:

这是处理上传验证的正确方法吗?

0 投票
3 回答
350 浏览

perl - 在哪里可以找到 Template Toolkit 的“更高级的 Web 工具包”?

我真的很喜欢Template Toolkit并且喜欢它如何与Catalyst一起使用,但我想要更多的“网络高级”工具包。

它可能只是 Web 对象的 *.tt 文件包,例如:Selector、Selector_DateTime、Menu、Data_Table...

网络上的某个地方有类似的东西吗?如果不是,为什么不呢?

0 投票
2 回答
3067 浏览

perl - 如何为 Catalyst 中的每个响应设置 Cache-Control 标头?

似乎默认情况下 Catalyst 不输出Cache-Control:, etc. 标头。我知道我可以像这样在给定的控制器方法中输出它们:

不过,在每种方法中这样做都会很痛苦!我更喜欢的是:

  • 一组默认标头(现在过期,现在最后修改,缓存控制:无缓存,编译指示:无缓存)
  • 一种按方法覆盖默认值的方法。

有没有什么好方法可以做到这一点?

0 投票
2 回答
414 浏览

perl - 在 Catalyst 中使用 Cache-Control 标头时如何不发送 cookie?

我在我的 Catalyst 应用程序中通过SessionSession::Store::DBIC和使用会话Session::State::Cookie

我有一些控制器和方法可以发送带有Cache-Control: public标头的数据,因此Set-Cookie:标头不能随这些响应一起发送出去(否则,它会被缓存并发送给其他客户端,从而导致可能的安全问题)。我还没有找到实现这一目标的好方法。

我如何判断SessionSession::State::Cookie不发送 cookie 以响应给定的请求?

0 投票
3 回答
712 浏览

perl - 为什么我的 Catalyst 应用程序重启很慢?

每次我构建一个 Catalyst 应用程序时,都会遇到应用程序启动(重新)启动缓慢的地步,延迟大约为 10 秒。今天我认为延迟是由以下几行引起的:

这些行仅在服务器上需要,因为我没有在那里获得 root 访问权限并且我的 Perl 模块安装在~/opt. (我不能使用 Apache 的SetEnv模块,因为主机不支持它。因此我必须将库路径输入到App.pm.)在我的开发机器上,出现血腥延迟的路径不存在。

我的问题:(1)为什么这些线路会造成如此多的延迟,大约 7 秒?(2)解决这个问题的好方法是什么?天真的条件use不起作用:

我想我可以eval以某种方式,还是有更好的方法?

0 投票
1 回答
373 浏览

perl - 从模型中调用 Catalyst ?

我正在使用CatalystCatalyst::Plugin::Authentication并且 Catalyst::Plugin::Authorization::Roles想知道是否有更好的方法来向我没有看到的模型添加属性。

每个用户都可以访问一个或多个公司,但一次总是有一个主要(当前)公司。允许的列表存储在数据库中,数据库访问主要是通过DBIC.

我的第一个倾向是说拥有当前公司的是用户,因此将其作为用户模型的一部分:给用户包一个“ sub company { … }”以获取/设置用户当前的公司。数据库检查相当容易;只需使用“ $self->search_related”(一种 DBIC 方法,由用户模型继承)。

我遇到的问题是:

  • 当前公司需要在请求之间持久化,但我宁愿不将其存储到数据库中(它应该只在此会话中持久化)。自然的地方是会议……</li>
  • 有一个角色,类似于 Unix 的root,它允许您充当 任何公司,而忽略数据库中的列表。检查这个角色可以通过数据库完成,但在应用程序使用 $c->assert_user_role和朋友的其他任何地方。

我听说最好让模型尽可能独立于催化剂。让模型进行操作似乎也很奇怪 $c->session

当然,我可以将这些检查移至控制器,并让模型接受控制器发送的任何内容,但这严重违反了 DRY,如果我在某处忘记其中一个检查,则只是乞求安全问题。

有什么建议么?还是我只是耸耸肩,继续在模型中做?

谢谢,并为标题道歉,我想不出一个好的标题。

0 投票
1 回答
141 浏览

perl - 如何将 Catalyst 的某些部分集成到旧版 web 应用程序中?

我正在为一个经典的遗留项目苦苦挣扎:手动 URL 解析和组合、手动路由等。了解一点 Catalyst 我至少渴望一些概念,例如正确(又名透明)的 URL 路由和参数解析。理想情况下,我会使用 Catalyst 并完成它,但鉴于它是一个遗留项目,我想我只有两个选择:

  1. 在我的项目中以某种方式使用 Catalyst 的某些部分——我不确定这是否可能。是吗?
  2. 使用单个模块来实现 Catalyst 框架的一部分——你有什么经验,可以推荐哪些模块?