Helper que adiciona a class active ao li quando a página atual é igual ao path passado como parâmetro ou quando o controller passado como parâmetro (opcional) é o controller corrente.

module ApplicationHelper
  def menu_li_link(content, path, controller="")
    options = current_page?(path) || controller_name == controller ? { class: "active" } : {}
    content_tag(:li, options) do
      link_to content, path
    end
  end
end

Exemplos de uso

  • Passando o path a ser comparado:
<%= menu_li_link 'Texto com link', page_url_path %>
  • Passando o controller:
<%= menu_li_link 'Texto com link 2', page_url_path, "controller_name_all_actions" %> <!-- considers all actions in controller as current -->

Gist