root :to => 'StaticPages#index'
返回http://localhost:3000/
但是,我想始终在根目录中显示完整路径,因为我正在使用路径进行布局。我需要我的根始终是:
http://localhost:3000/en/home
有谁知道如何实现它?
编辑 - 原因:我正在突出显示当前页面。
link:
<%= link_to (t 'nav.home'), home_path, id: current_p(home_path) %>
helper:
def current_p(path)
"current" if current_page?(path)
end
在页面之间导航时,它可以正常工作。但是,它永远不会突出显示主页,因为没有路径。 有什么想法吗?
答案 0 :(得分:1)
在您的情况下,我会重写current_p
帮助程序并直接重定向到本地化页面,而不是尝试与您的root一起破解某些内容,因为root per definition始终指的是根路径{{1} }。
/
这会将def current_p(path)
paths_to_match = path =~ /\/\w{2}\/home$/ ? ['/', home_path] : [path]
current = nil
paths_to_match.each do |path_to_match|
current = 'current' if current_page?(path_to_match)
end
current
end
和/(some locale)/home
标记为当前。
像这样,您可以完全控制您的实施。
答案 1 :(得分:0)
感谢Beat Richartz指出了正确的方向。他提供的代码解决了这个问题,但是我将在这里注册我已经实现的解决方案。
def current_p(path)
if path == home_path
'current' if current_page?(path) || current_page?('/')
else
'current' if current_page?(path)
end
end