问题标签 [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 回答
544 浏览

perl - 如何将我的 Catalyst 应用程序部署为 debian 包(或合适的替代方案)?

在测试了我的Catalyst应用程序并决定部署它之后,我想将它打包,以便我可以轻松地将其拉入临时服务器和实时服务器,管理依赖项并通过包版本控制的灵活性轻松回滚。由于我的生产操作系统是 Ubuntu,我认为将其打包为 deb 包最有意义。

我预测我将不得不为我的所有 perl 模块依赖项创建第二个包,因为我的发行版没有提供许多依赖项,或者独立打包它们——尽管这可能需要大量工作。

有没有人有这样做的经验 - 或者一个理智的,类似的选择?

0 投票
2 回答
191 浏览

perl - DBIx::Class 无限结果

在我描述细节之前,问题是,我运行 $c->model('ResultName')->search({k=>v}) 并且当我循环它的 has_many 关系的结果时,只有一个数据库,但它永远循环。我试过谷歌搜索,发现一个人解决了这个问题,但对我的解释太简短了。他的职位在这里

基本上我有3张桌子

订单、订单项和项目。物品是可用的。订单是一个人想要的物品的集合。所以我可以用类似的东西把它们绑在一起

select oi.order_item_id,oi.order_id,i.item_id from orders as o 内部连接 ​​order_items as oi on oi.order_id = o.order_id 内部连接项目 as i on i.item_id = oi.item_id where blah blah blah ....

我运行了 DBIx::Class::Schema::Loader 并得到了看似正确的关系

  • MyApp::Schema::Result::Order->has_many('order_items'...)

  • MyApp::Schema::Result::Items->has_many('order_items'...)

  • MyApp::Schema::Result::OrderItems->belongs_to('items'...)

测试中我尝试

它在内循环上无限循环

0 投票
3 回答
1586 浏览

perl - Catalyst 中 Makefile.PL 的问题

我正在尝试部署 Catalyst 应用程序。我已经将所有包含在 Makefile.PL 文件中的想法足以安装在目标机器上。但是,当我尝试构建 Makefile 时,我得到以下信息:

谁能告诉我做错了什么?我已经安装了 - Module::Install - Local::lib - Catalyst::Runtime (后来也安装了 Catalyst::Devel 以确保)

我认为管理一个好的 Makefile.PL 的整个想法很容易安装到生产机器上??

0 投票
2 回答
354 浏览

perl - 用于任意树结构的催化剂调度程序

问候,

我是 Catalyst 的新手,我正在尝试实现一些调度逻辑。

我的数据库有一个项目表,每个项目都有一个唯一的url_part字段,每个项目在同一个表中都有一个父项,形成一个树结构。如果baz是一个孩子的bar孩子foo是根的孩子的孩子,我希望 URL/foo/bar/baz映射到这个对象。树可以是任何深度,用户需要能够访问任何节点,无论是分支还是叶子。

我一直在查看 Chained dispatchers 的文档,但我不确定这是否可以满足我的要求。似乎链式调度程序中的每个步骤都必须为PathPart属性定义一个名称,但我希望我的 URL 仅由数据库结构确定。

这是否易于使用现有的 Catalyst 调度程序实现,还是我需要编写自己的调度类?

谢谢!:)

预计到达时间:

我发现我可以使用一个空Args属性来捕获任意数量的参数。以下似乎成功捕获了根下的每个请求:

从那里我可以手动解析路径并获得我需要的东西,但是,我不知道这是否是完成我所追求的最佳方式。

0 投票
1 回答
1039 浏览

perl - 如何为 Catalyst fastcgi 进程指定 Perl 包含路径?

我已经使用 local::lib 在 ~/perl5/lib/perl5 中安装了我对 Catalyst 的所有依赖项

我想使用 mod_fcgid 在 Apache2 下运行我的应用程序,但是 fastcgi perl 脚本在我的自定义路径中找不到模块。如何指定(apache config?)我的自定义 lib 目录将包含在 INC 目录中,而无需明确将其侵入 myapp_fastcgi.pl?我希望能够在安装了 perl 包含在不同目录中的服务器之间移动我的应用程序。

谢谢,罗伯

0 投票
3 回答
7229 浏览

perl - Dancer vs Catalyst [Perl Web 框架]

你对两者有什么看法?我开始阅读一本关于 Catalyst 的书,发现它与 Dancer 相比相当复杂。所以现在我尝试一下 Dancer,它看起来更容易学习和更“人性化”。

0 投票
1 回答
141 浏览

perl - "su" 等效于 Web 应用程序身份验证,设计问题

我开发和维护一个用 Perl/Catalyst 编写的客户门户。我们使用 Catalyst 身份验证插件(带有 LDAP 存储后端,加上一些 deny_unless 规则以确保正确的人拥有正确的组成员身份)。

通常,在管理客户的权限时,我们需要在移交之前测试用户的设置。目前,我们唯一的办法是重置用户密码并自己登录,但这并不理想,特别是如果用户已经设置了自己的密码等。

我的问题是:对于 Catalyst,有没有人遇到过一种模拟用户帐户的方法,这样,在给定正确的超级管理员权限的情况下,可以在测试设置时临时模拟另一个帐户,然后在完成后退出?

如果不在 Catalyst 中,那么人们是如何在其他框架或他们自己的自定义解决方案中解决这个问题的?诚然,这为 Web 应用程序引入了潜在的严重攻击向量,但如果被迫实施,人们是如何为此设计的?也许是一些严肃的cookie-session-fu?或者可能是实际 ID/有效 ID 系统?

0 投票
4 回答
485 浏览

perl - 为什么催化剂不会在连锁动作中只死一次?

考虑以下操作:

现在如果你请求 '/stuff/314/' ,你会得到

有没有理由不直接在第一个失败的链环上抛出错误?

为什么催化剂要上链?

0 投票
1 回答
548 浏览

perl - DBIx::Class 虚拟列?

我正在使用基于 DBIx::Class (Loader) 的 ORM 构建应用程序。我的大多数数据库模型都有一个“名称”列。我的一个控制器主要使用“名称”列搜索所有模式类。然而,一些模式类没有“名称”列。

是否可以在 DBIx::Class 中添加一种使用另一列的“虚拟”列:

偷偷改写为

我希望我是有道理的,有人吗?

谢谢,罗伯

0 投票
1 回答
344 浏览

database - Catalyst 中的 DBIx::Class 升级 (DBIx::Class::Schema::Loader)

我正在将 Catalyst 用于应用程序,并准备将生产版本升级到下一个主要版本。在新版本中,对数据库进行了很多更改。Catalyst 中的 ORM 是使用物理开发数据库中的 DBIx::Class::Schema::Loader 创建的。在像 rails 这样的框架中,ORM 以相反的方式工作,从一个版本迁移到下一个版本很简单。

谁能告诉我是否有解决方案可以创建将旧版本的数据库更改为新版本的更改脚本?我尝试了 mysqldiff、MySQL Workbench(同步选项已损坏)、RedGate、Toad for MySQL 和许多其他工具。在 Catalyst 应用程序或 DBIx::Class 模型中必须有一种更简单的方法来执行此操作。

谁能帮我?谢谢