我在haml文件中有以下代码行
%a#mypage{:href => hub_path(@user), :class => "#{path.match('(hub)') ? 'current': ''}"}
这样做可确保突出显示导航栏上的正确项目。但是,如果匹配多个路径中的任何一个,我需要突出显示相同的项目。
所以,上面我们有与hub相匹配的路径。如果路径与hub,item2或item3匹配,我需要它返回true。
不知道从哪里开始。我试过投入“||”进入课堂,看看我是否可以列出它们,但这不起作用。有没有办法在指定匹配时执行“包含”?
续...
所以我接受了下面海报的建议,但仍然无法让它工作
我现在正在测试它
- path = request.fullpath
- if path.match(/\(performance_hub|objectives|deliverables\)/)
true
- else
fail
%br
= path
即使路径是
/users/170/hub
它仍然是假的。我哪里错了?
答案 0 :(得分:1)
尝试使用正则表达式而不是字符串
:class => "#{path.match(/\(hub|item2|item3\)/) ? 'current': ''
这将搜索(hub)
或(item2)
或(item3)
答案 1 :(得分:0)
答案最终成为了这个
%a#mylink{:href => hub_path(@user), :class => "#{%w(hub objective deliverable).any?{|w| path.match(w)} ? 'current': ''}"}