我目前正在尝试将其中一个较小的催化剂应用程序移植到Mojolicious
(就是图个好玩儿)。
假设我们在页面上:http://whatever.com/generate。
在该页面上,有一个指向“生成的”的链接。
使用催化剂(带有TT模板)时,您将链接定义为
uri_for 'generated'
它将生成一个指向http://whatever.com/generate/generated的链接
但是如果您将其定义为
uri_for '/generated'
它将生成一个指向http://whatever.com/generated的链接
我尝试对Mojolicious的url_for执行相同的操作,但它的工作方式似乎有所不同。
我称它没有区别
url_for 'generated'
或者
url_for '/generated'
这两个调用都生成指向'/generate/generated'的链接
所以我的问题是:如何使url_for生成到绝对路由的链接。
即到'/Generated'
谢谢,
,
ldx
最佳答案
url_for
生成相对于应用程序根目录的URL。这样做是为了实现可移植性:您可以将应用放置在任何URL上,并且链接不会中断。
如果您需要一个指向绝对路径的链接,那么为什么需要url_for呢?您只能使用字符串'/generated'
。
另一方面,如果您确实需要Mojo::URL对象,则可以使用
<%= url_for->path('/generated') %>
url_for
在不带参数的情况下返回当前网址