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%>