【发布时间】:2020-07-14 16:24:51
【问题描述】:
我正在使用 Sinatra 和 Shotgun 服务器。
当我输入http://localhost:9393/tickets 时,我的页面按预期加载。但是,在最后加上一个额外的“/”,Sinatra 建议我添加
get '/tickets/' do
如何让服务器接受额外的“/”而不创建额外的路由?
Sinatra 的“How do I make the trailing slash optional?”部分中的信息看起来很有用,但这意味着我需要将此代码添加到每条路线。
有没有更简单或更标准的方法来做到这一点?
我的路线设置为
get '/tickets' do
【问题讨论】:
-
欢迎来到 SO。我们需要看看你是如何定义你的路线的。现在您要求我们想象您的代码并且效果不佳。请参阅“How to Ask”、“Stack Overflow question checklist”和“MCVE”及其所有链接页面并参阅“Don’t use “click here” and other common hyperlink mistakes”。 .
-
从长远来看,将
/?放在需要它的路线上,而不是试图找出逻辑以选择性地不在路线上这样做,这可能更聪明、更自我记录并且更容易你不希望它发生的地方。 “Custom Route Matchers”可能会对您有所帮助,但同样,将逻辑移到别处可能会将您逼入绝境。