问题标签 [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 投票
1 回答
304 浏览

perl - Catalyst: How do I make DBIx::Class::Schema::Loader::make_schema_at() static preserve case?

I'd like to be able to force the PACKAGE->add_columns() to not lc everything. I know there's a preserve_case option, but I can't figure out where to put it. Is there a 'myproj_schema.pl' file I can create in /conf ?

0 投票
2 回答
1165 浏览

mysql - 催化剂创建架构无法连接,但我可以

所以我可以连接(显然我替换了所有的真实值)

但是当我运行 Catalyt 的创建脚本时,我得到了

它的行为就像数据库服务器不允许来自 whereiam.com 的连接,但我可以通过命令行连接就好了,并尝试暂时打开数据库以连接来自任何地方的连接,但仍然没有成功。很抱歉我能提供的信息很少,但这就是我目前所拥有的。

0 投票
2 回答
1401 浏览

perl - uri_for 包括重定向端口号

我正在尝试使用 nginx 作为静态文件的前端 Web 代理,并使用 Starman 作为我的后端 Web 服务器来实现 Catalyst 应用程序。(我可以使用 Apache 和 FastCGI,它工作得很好,但我真的很想解决整个 PSGI / Plack 和 Starman 的问题)

Starman 启动正常,可以很好地处理我的请求http://localhost:5000。当我启动 nginx 用作我的前端代理时,无论何时何地使用该$c->uri_for方法,我的 url 都会变得丑陋并与端口号 (5000) 混淆。

例子 :

我有一些正在创建的日志,所以我可以看到什么X-Forwarded-HostX-Forwarded-For被设置为。对于普通请求,设置了值(来自 nginx),但无论何时使用该$c->uri_for方法,这些值都不存在。

有没有其他人有这个问题?
我在配置 nginx 或 Catalyst conf 时是否遗漏了其他内容?

谢谢!

nginx 配置:

事件虽然这将在同一物理服务器上运行,但在 MyApp 配置中我已设置:

版本:

0 投票
1 回答
318 浏览

perl - 从 MyApp.pm 访问 Catalyst 对象 $c

我在我的 Catalyst 应用程序中使用 Assets 插件,我希望在每个页面的资产中包含一些 javascript 和 css 文件。

我的第一个想法是从 MyApp/lib/MyApp.pm 调用 $c->assets->include('file.js') 我在那里进行设置和配置,但我不知道如何在那里获得 $c .

我的下一个想法涉及使用 WRAPPER 的东西,并在默认 html 模板中放置 [% c.assets.include('file.js') %] 之类的调用,但调用会将对象信息转储到页面,因此调用会有被丑化以抑制输出。

解决方案或新想法表示赞赏。提前致谢。

0 投票
3 回答
2692 浏览

perl - 如何将 Moose 对象转换为 JSON 以在 Catalyst 中使用?

我有一系列 Moose 对象,我希望通过Catalyst::View::JSON将它们提供给JSON::XS。JSON::XS 无法编码祝福的数据结构。我知道有MooseX::Storage::Format::JSON可以——有点——做我想做的事;但是,它似乎过于沉重。我正在寻找的信息与XXX.pm提供的信息基本相同。我只希望原始数据结构递归地不被祝福,以便(内部使用的驱动程序)可以显示它。JSON::XSJSON::AnyC:V:JSON

使用对象Catalyst::View::JSON的最佳方式是什么?看来我有四个明显的选择:JSON::XSMoose

  1. 如果暴露的参数是 Moose 对象,则通过修补以读取并最终确定请求来使用MooseCatalyst::View::JSON对象C:V:JSONfreeze
  2. 补丁JSON::XS以回退到$obj->freeze if $obj->isa('Moose') && $obj->does('MooseX::Storage::Format::JSON'). 我应该调查MX:S:F:JSON以确保由JSON::Any和 proxy使用的类MX:S:F:JSON是(如果为调用使用的 Moose 对象选择不同的内部编码器,则JSON::XS讨厌想到大量的错误。JSON::AnyJSON::XS
  3. 弄清楚如何递归地取消并让它Catalyst::View::JSON做它的事情。
  4. 根本不要使用Catalyst::View::JSON。只需写入 STDOUT$obj->freeze并手动完成请求。这似乎是最骇人听闻的。

我敢肯定还有其他选择,有什么想法吗?我最好的选择是什么?

0 投票
1 回答
673 浏览

perl - 如何在催化剂中重新加载配置

当催化剂 Web 框架中的配置发生更改并且需要在不重新启动催化剂服务器的情况下重新加载配置时,如何重新加载配置。

0 投票
2 回答
354 浏览

html - 在 Perl 和 Catalyst 中从用户输入中删除 HTML

我将 Catalyst 用于我的 Perl Web 应用程序。从用户输入中删除 HTML 的公认方法是什么?

目前我倾向于使用 HTML::FormatText。但我觉得很奇怪,我找不到 Catalyst 中内置的实用程序来完成这项常见任务。我只是没找到吗?此外,这些用于删除输入的模块似乎需要 5 行代码。我希望有一个简单的“deHTMLify()”方法。我想我可以自己动手,但不想重新发明轮子。

我认为 HTML::FormFU 之类的表单验证模块会为您执行此操作,但我希望避免这种复杂性。我的表格简短而简单。这个决定是错误的吗?

我做对了吗?

0 投票
4 回答
1078 浏览

perl - Perl 版本字符串:为什么使用 EVAL EXPR?

我刚刚注意到这个由Catalyst.pl. 这显然是某种未注释的 hack。像这样设置版本字符串有什么好处?我什至无法弄清楚他们想要做什么。

0 投票
2 回答
673 浏览

perl - Perl Test::More 和设置测试要求

我经常希望有Test::More一个运行测试并能够中止调用者的模块test_plan。我有一系列测试为Catalyst::Test. 我不想让我的测试检查它们是否存在;相反,如果这些插件不存在,我希望我的脚本中止。

我试图找出我的一个错误,Catalyst::Authentication::Store::DBI::ButMaintained我注意到这个错误也存在于Catalyst::Authentication::Store::DBI. 这里是:

如您所见,eval/skip_all不检查Authorization::Roles包含,但测试依赖于它,因为它是一个插件。

不过我还有另一个问题——有没有比这更优雅的方法来指定测试依赖项?请记住,我的目标与原作者相同。如果测试要求不存在,我只想跳过测试。理想情况下,在这种情况下,我想破解Catalyst::Test插件机制来包装Catalyst::Plugin::*东西,然后找到一种更好的方法来完成剩下的东西,而不需要eval/skip_all.

0 投票
3 回答
1678 浏览

perl - 我在哪里可以找到使用 Nginx、Starman、Plack 和 Catalyst 的应用程序运行时错误?

我已经成功地使用Plack + Starman在我的开发机器上为我的 Catalyst 应用程序提供服务,使用的是我在 Dave Rolsky 的 Silki 发行版中找到的守护程序脚本

然后我将 nginx 设置为反向代理到我的 Starman 服务器,并为 nginx 服务的静态目录设置别名。到目前为止,一切都很好。但是,我不知道我的应用程序 STDERR 应该登录到哪里。它没有到达 nginx(我认为这是有道理的),但我找不到太多关于 Starman 可能在哪里记录它的文档——如果在任何地方。我确实看过 Plack 的中间件模块,但只看到了访问日志的选项。

有人能帮我吗?