2012-10-16 2 views
0

나는 기본적인 문제가 있습니다. 나는 당신이 질문에 의해 나는 루비와 레일이 다소 새로운 것이라고 말할 수있을 것이라고 확신한다.보기에 Ruby/Rails 텍스트 넣기

"활성"클래스를 적용하려는 탐색이 있으므로 활성 페이지의 스타일을 다르게 지정할 수 있습니다. 나는 @cur_page before_filter과 같이 설정 : 내가 텍스트 "활성"단순히 출력 노력하고 있지만 작동하지하고

def cur_page 
    @cur_page = params['action'] 
end 

.

<li class="button <%= "active" if @cur_page == "contact" %>"><%= link_to "Contact", :public_contact %></li> 

가 나는 또한 시도했다 :

<li class="button <%= puts "active" if @cur_page == "contact" %>"><%= link_to "Contact", :public_contact %></li> 
내가이 설정되어 있는지 확인하기 위해 인스턴스 변수를 확인했습니다

, 내가 기대하는 것처럼 "접촉"를 표시합니다.

아이디어가 있으십니까?

답변

1

:public_contact 무엇입니까? @cur_page 대신 current_page? 도우미를 사용하는 것이 좋습니다.

<li class="button <%= "active" if current_page?(public_contact_path(@contact) %>"><%= link_to "Contact", public_contact_path(@contact) %></li> 

public_contact_path(@contact)을 올바른 경로 도우미로 바꾸십시오.

+0

굉장! 어쨌든 나는 그것에 대해 더 좋은 방법이 있다는 것을 알았다. 나는 그 방법이 존재한다는 것을 전혀 몰랐다. 고맙습니다! – Sean

0

문제는 큰 따옴표로 생각됩니다.

사용 '활성'대신 "활성" 사용 '접촉'대신 '접촉'의

<li class="button <%= 'active' if @cur_page == 'contact' %>"><%= link_to "Contact", :public_contact %></li> 
+0

사실 cur_page를 설정하여 연락을 취하고 그 선언을 삭제하는 것을 잊었습니다. 그래서 before 필터는 "contact"로 설정하고, 컨트롤러에서 렌더링 된 페이지는 contact :로 설정됩니다. 내가 제거한 후에도 문제가 없었습니다. 응답 주셔서 감사합니다! – Sean

관련 문제