我们可以在路线图中使用正则表达式吗?我正在创建一个简单的文件浏览器。我在/config/routes.js
:
map.all('/assets/:folder.:format?', 'assets#index');
但是文件夹参数可以是(例如)Images/Logos
,所以我很感兴趣,如果我可以使用正则表达式。
在我的ROR项目中,我能够在路由器':contrains
参数的帮助下解决类似的问题:
match 'applications/:store/:platform/:identifier/:filename' => 'assets#direct_download',
:constraints => {
:store => /[\w.-]+/,
:platform => /[\w.-]+/,
:identifier => /[\w.-]+/,
:filename => /.+/
}
我无法找到任何例子。如果有人能为我澄清这一点,我将感激不尽。
答案 0 :(得分:0)
您可以使用以下语法:
map.all(new RegExp('^\/assets\/(.*)$'), 'assets#index');
然后使用其索引捕获参数(从0
开始 - 忽略整个字符串,与<{strong> preg_match
或类似函数不同):
// app/controllers/assets_controller.js
console.log(params[0]);