2012-12-07 1 views
1

내보기에서와 활성 CSS 클래스 켜기, 내가 가진 : 나는 멀리 게시물/경로 /에서 이동할 때레일] CURRENT_PAGE 방법

<li class="<%= 'active' if current_page?(:controller => 'posts') %>"><a href="/posts">Posts</a></li>

문제는, 클래스가 다시 꺼져있다. 예를 들어, 내가/posts/1에 갈 때 링크 클래스는 더 이상 활성화되지 않습니다. 나는 컨트롤러가 동일하게 유지되기 때문에 그것이 여전히 활성화 될 것이라고 생각했다. 문제를 어떻게 해결해야합니까?

답변

1

당신은

그래서
<%= 'active' if params[:controller] == 'posts' %> 

당신이 /게시물/1에 갈 때

params[:controller] 

의 값이 클래스 "활성화"가 나타나지 않는 이유를 무엇을 디버깅하려고 할 수 있습니다 .

'활성'클래스가 있지만 CSS 문제가 표시되지 않을 수 있습니다. 코드가 확실히 작동 위

+0

params [: controller]는 일관되게 'posts'이지만 current_page를 사용할 때 class active가 켜지지 않았습니까? 방법. 기묘한. –

1
<li class="<%=params[:controller] == 'posts' ? 'active' : '') %>"> 
    <a href="/posts">Posts</a> 
</li> 

작동 가능 여부를 확인하기 위해 /글/1 *의 브라우저의 소스 코드를 확인하십시오.