Best way to highlight current page in Rails 3? — apply a css class to links conditionally

后端 未结 8 1764
野趣味
野趣味 2020-12-04 14:25

For the following code:

<%= link_to \"Some Page\", some_path %>

How do I apply a css class current using the

8条回答
  •  鱼传尺愫
    2020-12-04 15:06

    In app/helpers/application_helper.rb

    def cp(path)
      "current" if current_page?(path)
    end
    

    In your views:

    <%= link_to "All Posts", posts_path, class: cp(posts_path) %>
    

    Basically write a simple wrapper around it. Additionally you could extend the method to allow additional classes to be applied by adding arguments. Keeps the views concise/dry. Or, without extending the method, you could just do simple String interpolation like so to add additional classes:

    <%= link_to "All Posts", posts_path, class: "#{cp(posts_path)} additional_class" %>
    

提交回复
热议问题