2012-07-20 5 views
1

Twitter Bootstrap이 설치된 Rails 앱이 있습니다.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> 

링크가 현재 페이지이며, 부트 스트랩을 사용하면 목록 요소의 클래스 (하지 링크 자체)에 설정하여 강조 표시 할 수 있습니다 "부트 스트랩은 그래서 같은 HTML 목록 요소의 각 탐색 모음의 링크를 캡슐화 활성 ", 그래서 같은 :

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

내 질문은 : 어떻게 당신이 목록 요소의 클래스를 설정하려면"(그것이 현재 페이지 인 경우) 프로그램 레일을 사용하여 "활성?

나는 그것이 링크를 위해 어떻게 행해질 수 있는지 알고있다. 예 :

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

하지만 어떻게 현재 페이지 인 경우에만에 "활성"클래스를 설정하는 방법? current_page (: controller => "products")가 %>'를 수행하면'<% = content_tag : li, : class => 'active'를 시도했지만 작동하지 않습니다. –

+0

아, 알아 냈어. 다음과 같아야합니다 : <% = content_tag : li, : class => (current_page? (: controller => "products")의 경우 'active')) % do'. 즉, 클래스 '값은 괄호 안에 캡슐화되어야합니다. @georgebrock이 대답을 반영하여 답변을 업데이트 할 수 있습니까? –

관련 문제