如何在 Sinatra 中获取当前路径/路线?

Posted

技术标签:

【中文标题】如何在 Sinatra 中获取当前路径/路线?【英文标题】:How to get current path/route in Sinatra? 【发布时间】:2016-06-04 16:27:08 【问题描述】:

我想在我的一个视图中获取当前路径/路线以在 if 语句中使用。

例如,我想实现这样的目标:

example.erb:

<h4>Foobar<h4>
<p>foo bar foo bar foo bar</p>
<% if current_route == /hello %>
  <%= erb :_hello %>
<% end %>

app.rb:

get '/foobar' do
  erb :example
end

get '/hello' do
  erb :example
end

这样,两条路由会进入同一个视图,但如果通过/hello 访问,它会将额外的部分_hello.erb 渲染到视图上。

这在 Sinatra 中可行吗?实现它的最佳方法是什么?

【问题讨论】:

【参考方案1】:

我相信你会想要使用request 对象。 request.path_info 应该会给你你想要的。

http://www.sinatrarb.com/faq.html#path_info

【讨论】:

以上是关于如何在 Sinatra 中获取当前路径/路线?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Symfony 2 中获取当前路线?

iOS:如何获取两个坐标之间的路线路径

Laravel 5:如何获取所有路线的路径?

在 Sinatra 中获取客户端的 IP 地址?

如何获取当前路线

获取当前路线名称?