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
在页面之间导航时,它工作正常。但是,它永远不会突出显示主页,因为没有路径。知道吗?
在您的情况下,我会重写current_p
助手并直接重定向到本地化页面,而不是尝试与您的根一起破解某些内容,因为每个定义的根始终是指根路径/
。
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
和/
标记为当前。
这样,您就可以完全控制您的实现。
感谢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