如何在Sinatra视图中引用根路径

时间:2015-06-25 16:16:34

标签: ruby sinatra

有没有办法引用我的Sinatra应用程序的根URL?在其中一个观点中说我想做以下事情:

<a href="<%= ROOT_PATH/cats %>">Show all cats</a>

Sinatra是否为ROOT_PATH提供了一个魔术助手,或者它是等同的?

2 个答案:

答案 0 :(得分:3)

应该可以通过request.base_url

访问它

rack使用以下方式实现:

def base_url
  url = "#{scheme}://#{host}"
  url << ":#{port}" if port != DEFAULT_PORTS[scheme]
  url
end

Get absolute (base) url in sinatra

答案 1 :(得分:2)

还有uri helper

#uri(addr = nil, absolute = true, add_script_name = true) ⇒ Object  
  

也称为:urlto

     

为应用程序中的给定路径生成绝对URI。拿架子   考虑路由器和反向代理。

对于你的例子:

<a href="<%= uri('/cats') %>">Show all cats</a>