2011-02-07 59 views
1

我对ROR很新,我非常喜欢它,只要我开发我的第一个应用程序。当我将格式应用于导航菜单时,我遇到了与我的应用程序模板相关的问题。Rails 3如果路径匹配根目录,则应用CSS类:至路径

是否有可能检查一个url路径是否匹配根:到config.rb中设置的路径?我有一个帮助器方法,返回字符串“current”,它添加了CSS类样式以突出显示所选菜单项。只要我不在主页,辅助方法就可以正常工作。当我的网址是www.localhost:3000/css当前类不适用于产品链接,因为request_uri =“/”不等于“/ products”。当我在主页上时,我希望将css类“current”应用于Products菜单项。

是否有任何条件逻辑我可以用来得到根:路径,并检查它是否匹配is_current的参数路径?

这是我的代码:

routes.rb中根:到setto指向产品索引视图

根:为=>的产品#索引'

application.html.erb

  • %<的link_to = '商品',products_path,:类=> is_current(products_path)%>
  • < (%)=的link_to '报告',reports_path,:类=> is_current(reports_path)%>
  • application_helper.rb
    def is_current(path) 
        if request.request_uri == path 
         return 'current' 
        end 
    end 
    

    任何帮助,将不胜感激。

    感谢, bkasen

    回答

    2

    如果我正确读取,你想 “onlink” 应用CSS?所以当用户在主页上时,主图标是不同的颜色或其他东西。

    <li><%= link_to_unless_current "Home", root_path, :class => "navLinks" do link_to "Home", root_path, :class => "navLinks", :id => "onlink" end %></li>

    • 我知道这是一个老问题,但它可能会证明给别人:)