路线选择在sinatra然后在rails中是不同的。在rails中,routes.rb文件从上到下扫描,并选择第一个匹配的路由。
Sinatra将路由与每种方法相关联,在这种情况下,如果两种方法具有别名,则如何选择路由。
答案 0 :(得分:1)
与Ramaze actions不同 - 这个问题可能有意义 - Sinatra的路线不是由方法的存在来定义的。相反,您使用方法来定义路由,并且调用这些方法的顺序部分地定义了路由优先级。
例如,你写道:
get "/" do
"Welcome!"
end
get "/products" do
"We sell stuff!"
end
别名没有自定义“索引”或“产品”方法。有关详细信息,请参阅The Sinatra Book online。
答案 1 :(得分:1)
Sinatra路由系统非常通用。
您可以使用方法传递来跳转路线。点击这里[http://www.sinatrarb.com/intro]
get '/guess/:who' do
pass unless params[:who] == 'Frank'
'You got me!'
end
get '/guess/*' do
'You missed!'
end
问候