2012-07-20 78 views
1

我有一個安裝了Twitter Bootstrap的Rails應用程序。引導封裝在一個HTML列表元素每個導航條鏈接,就像這樣:使用Rails設置HTML元素的類?

<ul class="nav"> 
    <li><a href="#home">Home</a></li> 
    <li><a href="#products">Products</a></li> 
    <li><a href="#settings">Settings</a></li> 
</ul> 

當鏈路是當前頁面,引導允許您通過設置列表元素的類(而不是鏈接本身),以突出它「主動」,就像這樣:

<li class="active"><a href="#products">Products</a></li> 

我的問題是:你如何設置列表元素的類爲‘活動’(如果當前頁面)編程方式使用Rails?

我知道如何做一個鏈接。例如:

<%= link_to "Products", products_path, :class => "active" if current_page?(:controller => "products") %> 

但我不知道如何做父母的列表元素。

回答

2

使用content_tag helper

<%= content_tag :li, :class => 'active' do %> 
    List item contents 
<% end %> 
+0

但如何設置類爲「主動」,只有當它是當前頁面?我試過'<%= content_tag:li,:class =>'active'if current_page?(:controller =>「products」)do%>'但這不起作用。 – 2012-07-20 03:54:47

+0

啊,算出來。需要成爲: '<%= content_tag:li,:class =>('active'if current_page?(:controller =>「products」))do%>'。 換句話說,類的值需要封裝在圓括號中。 @georgebrock你能更新你的答案來反映這一點嗎? – 2012-07-20 03:58:29