Perl Mojolicious 下

2023-12-12

为了在这个 mojolicious 应用程序中正确路由输入信息,我使用“under”功能。为什么此代码不起作用,但第二个块中的代码却可以实际从数据库中删除所选项目。

 my $r_hostservices = $r->
        under('/hosts_services:host_services_id')->
        to('hosts_services#hosts_services');

 $r_hostservices->
        delete(':hosts_services_id')->
        to('hosts#hosts_services_deletion')->
        name('hosts_services_deletion');

第二个(工作)块如下

 $r->delete('/hosts_services/:hosts_services_id')->
        to('hosts#hosts_services_deletion')->
        name('hosts_services_deletion');

package a;
use Mojo::Base 'Mojolicious';

# This method will run once at server start
sub startup {
  my $self = shift;

  # Load configuration from hash returned by config file
  my $config = $self->plugin('Config');

  # Configure the application
  $self->secrets($config->{secrets});

  # Router
  my $r = $self->routes;

  my $ur = $r->under('/foo/:bar');

  $ur->delete()->to('example#two');
  $ur->any()->to('example#one');
}

1;

您始终可以通过这种方式列出所有定义的路线:

script/a routes

此功能对于在这种情况下进行调试非常有用。您可以在此处阅读有关 Mojolicious CLI 的更多信息Mojolicious::命令.

这是带有上述路线的示例输出:

/foo/:bar  *       foobar
  +/       DELETE  
  +/     
*

所以,我们可以看到,Mojolicious 现在将提供 url/foo/:bar/ for DELETE以及任何其他请求方法,但尾随斜杠始终是可选的,并且/foo/:bar会工作得很好。

在这种情况下:under('/foo/:bar')->to( example#zero ), example#zero是中间目的地,因此在此定义的所有路线都将访问example#zero并且只有之后它才会继续执行自己的目的地。所以,under( ... )->to( ... )可用于身份验证和其他类似任务。在我的例子中under()使用时无需to().

附: Mojolicious 附带了精彩的文档,我鼓励每个人都积极使用它

Mojolicious::路线::路线

Mojolicious::指南::路由

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Perl Mojolicious 下 的相关文章

  • 如何在 Perl 中运行匿名函数?

    sub print 1 sub print 1 我尝试了各种方法 都是错误的 sub 将为您提供指向该函数的指针 因此您必须通过引用调用 sub print Hello world n gt 另一种简单的方法 如所指出的布拉戈维斯特 布尤克
  • 将日期转换为指定格式并比较两个日期

    给定两个日期 Date1 format yyyy mm dd hh mm ss eg 2013 05 21 07 47 21 Date2 format Day Month date hh mm ss yyyy eg Thu Aug 1 09
  • 单台机器最快的 Perl IPC/消息队列是多少?

    我正在开发一个 主要 Perl 项目 并希望使用消息队列来相互隔离进程 我有这样的工作流程 输入 gt 接收器 gt 处理器 gt 输出 我需要每秒处理数百笔交易 所以速度是我最大的动力 对于这种类型的设置来说 最快的消息队列系统是什么 我
  • 无法在 Mac 上安装 DBD::mysql

    第一次发帖 格式可能不太对 请见谅 我一直在尝试使用 cpan 在 macOS Catalina 上安装 DBD mysql 但尚未成功 我使用了perlbrew 并尝试了mysql和mariaDB 但仍然没有成功 另外 我在网上研究了不同
  • 由于握手问题,PerL SSL 连接尝试失败

    我希望有人可以提供帮助 我正在使用 nagios 插件 check ilo2 health 该插件在我们的 OpenSuSE 系统上运行良好 但新的 Ubuntu 14 04 系统有问题 删除 nagios 的东西并运行 perl 基本上是
  • perlbrew 可以在 Windows 上运行吗?

    使用 ActiveState 5 8 8Windows XP http en wikipedia org wiki Windows XP 我想安装更新的 Perl 进行测试 迁移 有一天 我们将不再以为自己只能使用一台计算机 当我想测试这类
  • Perl:Chomping字符串后,它不打印字符串的值

    所以我目前正在尝试编写一个 perl 脚本来读取一个文件并写入另一个文件 目前 我遇到的问题是从解析的行中删除换行符 我输入这样的文件 BetteDavisFilms txt 1 Wicked Stepmother 1989 as Mira
  • 在 Perl 中组装 XML

    我需要对 NetApp 文件管理器进行 API 调用 我知道我需要发送什么原始 XML
  • 更新命令行输出

    我的程序 碰巧是用 Perl 编写的 尽管我不认为这个问题是 Perl 特定的 在程序中的某一点输出状态消息 Progress x yy where x and yy是一个数字 例如 Progress 4 38 我想在打印新的状态消息时 覆
  • 为什么我不应该使用 UNIVERSAL::isa?

    根据这个 http perldoc perl org UNIVERSAL html http perldoc perl org UNIVERSAL html 我不应该使用 UNIVERSAL isa 而应该使用 obj gt isa 或 C
  • 如何为不同的 Perl 应用程序安装专门的环境?

    就功能而言是否有与 Python 相同或接近的东西虚拟环境 http pypi python org pypi virtualenv what it does 但是对于 Perl 来说呢 我已经用 Python 进行了一些开发 并且将非系统
  • 如何在 Perl 中使用 use strict 一次一行处理多行字符串?

    我正在尝试找出 PBP 批准的正确方法来一次一行处理多行字符串 许多 Perl 编码人员建议将多行字符串视为文件句柄 除非您在脚本中使用 use strict 否则它可以正常工作 然后 您会收到编译器发出的警告 提示在使用严格引用时无法使用
  • unix df 上的正则表达式帮助

    我需要一些帮助来调整我的代码以查找此 UNIX 中的另一个属性df output Ex Filesystem Size Used Avail Capacity Mounted on dev ad4s1e 61G 46G 9 7G 83 ho
  • Perl 和 Unix 如何以相同的顺序对 Unicode 字符串进行排序?

    我正在尝试获取 Perl 和 GNU Linuxsort 1 程序就如何对 Unicode 字符串进行排序达成一致 我在跑sort with LANG en US UTF 8 在Perl程序中我尝试了以下方法 use Unicode Col
  • Perl 非贪婪

    我遇到非贪婪正则表达式 regex 的问题 我已经看到有关于非贪婪正则表达式的问题 但它们没有回答我的问题 Problem 我正在尝试匹配 lol 锚点的 href Note 我知道这可以通过 Perl HTML 解析模块来完成 我的问题是
  • Bugzilla 中分离客户端的基本权限

    我正在尝试配置一个 Bugzilla 实例 这将允许我的客户登录并为其正在开发 维护的网站提交错误 例如 我创建了 2 个名为 TestProject TestProject2 的产品和一个名为 TestClient 的用户 我想要实现的是
  • 使用 Perl 获取 值

    因此 我有一个报告工具 可以在 HTML 文件中输出作业调度统计信息 并且我希望使用 Perl 来使用这些数据 但我不知道如何单步浏览 HTML 表 我知道如何使用 jQuery 来做到这一点 find tr each function v
  • 使用包管理器时如何管理 Perl 模块?

    A 最近的问题 https stackoverflow com questions 397817 unable to find perl modules in intrepid ibex ubuntu这让我开始思考 在我尝试过的大多数 Li
  • 使用Perl/DBI/MySQL/InnoDB查找外键信息

    我想以编程方式查找 MySQL 数据库中特定 InnoDB 表的外键 我正在使用 Perl 我偶然发现 dbh gt foreign key info 我刚刚尝试使用它 但似乎有点错误 它不会返回 ON DELETE 和 ON UPDATE
  • 在perl中更改多维哈希的第一个键

    我在 perl 中有一个多维哈希 我想更改所选值的第一个键 例如 我有哈希 my Hash1 Hash1 1 12 1 Hash1 1 10 1 Hash1 2 31 1 Hash1 3 52 1 Hash1 3 58 1 Hash1 4

随机推荐

  • 使用flexbox为div设置相等的高度(取决于最短的)[重复]

    这个问题在这里已经有答案了 很明显如何使用 Flexbox 使两个 div 与最高的 div 具有相同的高度 但对我来说 不清楚如何根据最短的 div 设置相等的高度 例如 我连续有两个 div 第一个 div 高度取决于内部图像的大小 所
  • 在自定义控件上显示触摸键盘

    The 触摸键盘示例展示了一种让开发人员在用户触摸自定义控件时通知系统显示触摸键盘的方法 可能在平板电脑模式下 有人指出 在PC上 您可以通过实现TextPattern提供程序接口 ITextProvider 和ValuePattern提供
  • Java中如何设置类路径?

    我有很多 jar 文件要添加到我的类路径中 因此每次编译 java 文件时我都会得到如下命令 javac cp commons digester 2 1 commons digester 2 1 jar lucene core 3 0 3
  • 在 Bash 命令提示符下添加 git 分支

    我尝试在 bash 提示符上添加我当前正在处理 签出 的 git 分支 但没有成功 同时保留显示活动目录 文件的当前路径完好无损的 我家里有一个 bashrc 文件 但我也看到很多人提到 profile 文件 git 1 9 3 或更高版本
  • 将字符串转换为整数/浮点/双精度

    我正在尝试将字符串转换为Integer Float Double但我有一个NumberFormatException 我的字符串是37 78584 现在我将其转换为我得到的任何一个NumberFormatException 我怎样才能转换这
  • Internet Explorer 11 中对 ES6 的支持

    根据这个页面http kangax github io compat table es6 ES6 功能未在 IE 11 中实现 IE 11 是否有有一天实现它们的计划 或者我可以忘记它吗 是否有一个页面可以解释他们对该主题的意图 我在某处读
  • C++ 受保护/公共重载

    我有一堂这样的课 class Foo public Foo for int i 0 i lt 10 i v push back i const vector
  • .NET MVC Action 参数类型为对象

    如果我有一个简单的控制器 路由如下 context MapRoute Default controller action new controller Base action Foo 控制器Foo的动作如下 HttpPost public
  • WinRT Metro 应用程序是否交叉兼容(x86/64 和 ARM)?

    维基百科有关 Windows 8 的条目在其声明中地铁段 that Metro 应用程序将与基于 x86 64 的系统交叉兼容 ARM 上的系统和 Windows 但没有参考文献 标有 需要引用 从技术上讲 是否可以在 ARM 上运行使用
  • android-使用VideoView显示视频时黑屏

    这是我的布局
  • 使用表数据自定义 React Antd 表头

    In my React project I need to customize antd table header as follows 我在下面添加了示例代码 I need to have Sum of the amount in the
  • 如何查看带有注释的源代码?

    我想查看包含任何注释的 R 源代码 以了解包的作者如何运行他的代码 但我不确定使用什么命令来查看它 特别是 我想查看源代码bgp R 中的函数tgp包裹 到目前为止我已经尝试过 library tgp tgp bgp tgp bgp 但这些
  • “父”文件中定义的 PHP 变量在“必需”文件中无法识别

    我正在尝试从所需文件内部访问父文件中定义的变量 如下所示 gt gt controller index require child php gt gt echo controller 不知何故 我收到一个空输出 这意味着该变量无法通过 ch
  • 获取线程起始地址

    我正在编写一个进程查看器 已完成 99 我只需要获取进程线程的起始地址 但我不知道该怎么做 谁能帮我 谢谢 您可以使用NtQueryInformationThread函数传递ThreadQuerySetWin32StartAddress的值
  • 在Django中,获取各种条件的多个Count

    我正在使用 Django 2 2 开发 Admin DashBoard 我会从一张表中计算各种条件的 对象 并将它们发送到模板 我的代码如下 model class User models Model uid models AutoFiel
  • Fabric 和 Objective C 中多个目标上缺少 DYSM 错误

    在我的应用程序中有两个目标 Target 1 MyApp com app myapp Target 2 MyAppQA com app myappQa 电子邮件 ID 用于Fabric注册是same对于两个目标 我使用创建了两个应用程序Fa
  • 使用 android-support-v4 替代 PreferenceFragment

    当我意识到这个库不支持 PreferenceFragments 时 我突然停止了应用程序的开发 新手 Android 开发人员是否可以使用任何替代方案来克服这一障碍 这是我现在的主窗口
  • 使用 PHP 获取前一天和后一天

    我设置了两个箭头 单击表示第二天 接下来的两天 很快 以及前一天 两天前 很快 该代码似乎不起作用 因为它只能在前一天和后一天得到一个 a href class prev day title Previous Day a a href cl
  • 有没有办法将自定义道路(例如越野路线)添加到谷歌地图,然后获取使用它们的路线?

    我想使用谷歌地图 API 添加一些自定义道路 即越野路线 地图中未标记为道路的碎石路等 然后使用这些道路结合起来与现有的道路来获取方向 我知道这不可能开箱即用 但我想知道是否有任何工具 自定义实现或第三方库可以做到这一点 不 目前没有办法做
  • Perl Mojolicious 下

    为了在这个 mojolicious 应用程序中正确路由输入信息 我使用 under 功能 为什么此代码不起作用 但第二个块中的代码却可以实际从数据库中删除所选项目 my r hostservices r gt under hosts ser