Basically, I have a lot of code that looks like this:
link_to t(\'.profile\'), business_path(@business), class: \'#{\'active\' if current_page? business_path(@bu
I wrote simple helper method using build in view helper current_page?
when you can specify custom class
name in html_options
hash.
def active_link_to(name = nil, options = nil, html_options = nil, &block)
active_class = html_options[:active] || "active"
html_options.delete(:active)
html_options[:class] = "#{html_options[:class]} #{active_class}" if current_page?(options)
link_to(name, options, html_options, &block)
end
Examples (when you are on root_path
route):
<%= active_link_to "Main", root_path %>
# Main
<%= active_link_to "Main", root_path, class: "bordered" %>
# Main
<%= active_link_to "Main", root_path, class: "bordered", active: "disabled" %>
# Main