我有一个类似于标签的按钮界面,可以使用以下HTML与我的网站进行交互
<li class="current_page_item"><a href="/home" class="first">Home</a></li>
<li><a href="/projects">Projects</a></li>
<li><a href="/resume">Resume</a></li>
<li><a href="/contact">Contact</a></li>
class="current_page_item
属性会更改标签的外观。每个网址都是一个管理我的StaticPages控制器的视图,如何让每个视图都选择其相应的“标签”?
答案 0 :(得分:5)
current_page?(url)
方法可以帮助您。
创建一个额外的辅助方法。
module ApplicationHelper
#...
def tab_item(name, url)
opts = {}
opts[:class] = 'current_page_item' if current_page?(url)
content_tag :li, opts do
link_to name, url
end
end
#...
end
在你的视图中使用它
<%= tab_item 'Home', root_path %>
<%= tab_item 'Projects', projects_path %>
<%= tab_item 'Resume', resume_path %>
<%= tab_item 'Contact', contact_path %>
答案 1 :(得分:1)
使用before_filter
set_current_tab
def set_current_tab
@current_tab = "Projects"
end
然后,您可以在视图中检查此var,并在@current_tab
等于当前标签行项目时显示标签。