5

除了可访问性标准不鼓励使用指向当前页面的链接之外,我应该如何重构以下视图代码?

#navigation
  %ul.tabbed
    - if current_page?(new_profile_path)
      %li{:class => "current_page_item"}
        = link_to t("new_profile"), new_profile_path
    - else
      %li
        = link_to t("new_profile"), new_profile_path

    - if current_page?(profiles_path)
      %li{:class => "current_page_item"}
        = link_to t("profiles"), profiles_path
    - else
      %li
        = link_to t("profiles"), profiles_path
    ...

谢谢你。

4

3 回答 3

8
# helpers
def current_page_class(page)
  return :class => "current_page_item" if current_page?(page)
  return {}
end

-# Haml
#navigation
  %ul.tabbed
    %li{current_page_class(new_profile_path)}
      = link_to t("new_profile"), new_profile_path
    %li{current_page_class(profiles_path)}
      = link_to t("profiles"), profiles_path
    ...
于 2009-09-02T16:28:14.313 回答
2
#navigation
  %ul.tabbed
    %li{:class => current_page?(new_profile_path) ? "current_page_item" :nil }
      = link_to t("new_profile"), new_profile_path
    %li{:class => current_page?(profiles_path) ? "current_page_item" :nil }
      = link_to t("profiles"), profiles_path
    ...
于 2009-09-02T15:41:00.070 回答
0

对我来说,这似乎是一个很好的案例。

于 2009-09-02T15:30:44.973 回答