get '/foo/?bar'
"Hi"
end
请问网址:
www.yahoo.com/foo/about/blog
www.theatlantic.com/foo/about
走那条路? ?
运算符在这里工作吗?还是我需要两个 ?
标记?我正在阅读 Sinatra Up and Running 但它似乎没有列出此内容。这似乎很重要。
最佳答案
正确的语法是:
get '/foo/?:bar?' do
"Hi"
end
第一个问号使前面的 /
可选,第二个问号使前面的符号 :bar
可选,因此:
/foo/about
- 是的
/foo/about/blog
- 没有
/foo
- 是的
/foo/
- 是
否则你只能使 :bar
符号可选
get '/foo/:bar?' do
"Hi"
end
这样:
/foo/about
- 是的
/foo/about/blog
- 没有
/foo
- 没有
/foo/
- 是
再举一个例子,这个选项:
get '/go/?:bar' do
"wow"
end
实际上等同于:
get '/go/:bar' do
"wow"
end
关于ruby - Sinatra 可选参数运算符和语法。什么是正确的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27762006/