gpt4 book ai didi

ruby - Sinatra Url '/' 解释

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

我是一个 ruby​​ 新手,现在已经尝试 Sinatra 一段时间了,我无法弄清楚的一件事是为什么 url 中的“/”会产生如此大的差异。我的意思是不是:

get 'some_url' do 
end

get 'some_url/' do
end

应该指向同一条路线?为什么 Sinatra 认为它是不同的路线?我花了整整一个小时试图弄明白这一点。

最佳答案

根据 RFC 2616 和 RFC 2396(定义资源标识的 RFC),这些 URL 不定义相同的资源。因此 Sinatra 以不同的方式对待它们。这是特别的。如果您想象路由返回带有相关链接的页面,则很重要。这个链接

<a href="bar">click me</a>

会指向/bar如果你来自 /foo , 至 /foo/bar如果你来自 /foo/ .

您可以使用以下语法来定义匹配两者的路由:

get '/foo/?' do
# ...
end

或者上面评论中提到的正则表达式版本。

关于ruby - Sinatra Url '/' 解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7645289/

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