如何在Rails中获取应用程序上下文

时间:2014-04-24 21:05:07

标签: ruby-on-rails ruby jruby

我有一个像http://myapp.myorg.com/MyApp/one/two这样的网址,我想在Rails代码中提取第一部分myapp.myorg.com/MyApp/。请帮助我更正此网址。

我目前正在使用$ servlet_context,但它没有给我结果。

我的代码段:

<%= link_to "My Link", "{@hostname}/#{$servlet_context}/three/four" %>

这给了我一个像:

的网址
myapp/org.jruby.rack.servlet.ServletRackContext@622209db/three/four

我期待的是:

myapp/MyApp/three/four

1 个答案:

答案 0 :(得分:0)

你可以通过在你的控制器中定义它来提取your path的第一部分来实现这个目的:

def context_path(url)
  URI.join('/' + request.fullpath.split('/')[1], url)
end
helper_method :context_path

然后很容易合并到您的网址中:

<%= link_to "My Link", context_path('three/four') %>