1
私は同様のことをする2つの方法があります。私はnoobのだと私は1つの方法にこれらを組み合わせて作ることができるかもしれない方法を知りたい:ビューでこのコードはDRYしたいが問題がある
#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 } %>
おかげでアンドリューのようになります。ありがとうございました。 – chell