У меня есть два метода, которые делают похожие вещи. Я новичок и хочу знать, как я могу объединить их в один метод:
#test if the current selected language is the one that was clicked in the menu
def link_to_without_class_unless_current_language(language)
if language_selected?(language)
content_tag(:li, content_tag(:span, content_tag(:em, language)), :class => "current")
else
content_tag :li, link_to(content_tag(:span, language), :locale => language.prefix)
end
end
#tests if the current page is the same as that for the link
def link_to_without_class_unless_current(name, options)
if current_page?(options[:url])
content_tag(:li, content_tag(:span, content_tag(:em, name)),
:class => options[:class] ||= "current")
else
content_tag :li, link_to(content_tag(:span, name), options[:url])
end
end
В представлении:
<%= link_to_without_class_unless_current_language 'English' %> |
<%= link_to_without_class_unless_current_language 'Français' %>
<%= link_to_without_class_unless_current t('application.menu_links.home'),
{ :url => root_url } %>