Rails 使用循环打印导航栏并突出显示指向当前页面的按钮
Rails print navigation bar using loop and highlight button leading to current page
我是 rails 的新手。
我想在页面顶部创建类似 here 的导航栏。 "CSS" 按钮突出显示,因为它指向当前页面。
我想在某个地方存储路径和按钮标题。我猜数组可以吗?
例如:
paths = ['root_path', 'articles_path']
titles = ['Home', 'Articles list']
使用这两个数组,我将能够使用一个循环打印导航栏。我可以轻松地删除或添加项目。我还可以在循环中包含条件,因此指向当前页面的按钮将附加一些 html class(更改它的背景)。
我应该把这些数组放在哪里?
有没有 better/more 智能方法来实现同样的事情?
P.S。我不想使用 javascript.
最好用hash
声明一个 ruby 哈希,名称为 "nav_bars"
@nav_bars = { "Home": "root_path", "Articles_list": "articles_path" }
然后你可以在你的视图中遍历散列作为
<% @nav_bars.each do |key, value|%>
<h3> <%= link_to key, value %> </h3
<% end%>
我是 rails 的新手。
我想在页面顶部创建类似 here 的导航栏。 "CSS" 按钮突出显示,因为它指向当前页面。
我想在某个地方存储路径和按钮标题。我猜数组可以吗?
例如:
paths = ['root_path', 'articles_path']
titles = ['Home', 'Articles list']
使用这两个数组,我将能够使用一个循环打印导航栏。我可以轻松地删除或添加项目。我还可以在循环中包含条件,因此指向当前页面的按钮将附加一些 html class(更改它的背景)。
我应该把这些数组放在哪里? 有没有 better/more 智能方法来实现同样的事情?
P.S。我不想使用 javascript.
最好用hash
声明一个 ruby 哈希,名称为 "nav_bars"
@nav_bars = { "Home": "root_path", "Articles_list": "articles_path" }
然后你可以在你的视图中遍历散列作为
<% @nav_bars.each do |key, value|%>
<h3> <%= link_to key, value %> </h3
<% end%>