gpt4 book ai didi

ruby - Sinatra 路由的必需和可选参数

转载 作者:数据小太阳 更新时间:2023-10-29 07:18:43 25 4
gpt4 key购买 nike

对于 Sinatra 路由,如何在路由的同一部分同时存在必需的命名参数和可选的命名参数。

可选的路由参数在这里工作正常

get '/widgets.?:format?'

但是,尝试组合一个必需的命名参数,事情就崩溃了。

get '/widgets/:id.?:format?'

请求/widgets/abc.json 将整个 abc.json 作为 id 参数传递。

Sinatra 编译的正则表达式是:

/^\/widgets\/([^\/?#]+)(?:\.|%2E)?([^\/?#]+)?$/

最佳答案

我确实通过在路线上使用完整的正则表达式并排除“。”来解决这个问题。来自第一个正则表达式组。

get %r{/widgets\/([^\/?#\.]+)(?:\.|%2E)?([^\/?#]+)?}

关于ruby - Sinatra 路由的必需和可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9775591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com