내 Rails 4 앱에서 사용자를 인증하기 위해 devise를 사용하고 HAML과 application_helper.rb를 사용하여 사용자 정의 탐색 모음 생성자를 설정했습니다. 도우미의 코드는 current_page를 사용하여 트위터 부트 스트랩을 사용하기 때문에 HTML 요소에 '활성'클래스를 추가 할 위치를 결정합니다. 이제 내가 말한 모든 것들은 사이트의 루트에 가서 바의 버튼이 활성화되어있을 때 (밀어 넣음) 바에서 다른 아이템을 클릭하고/sig_in/당신은 페이지로 보내지지만 해당 페이지의 버튼은 활성화되어 있지 않습니다. 임씨는 확신 할 수 없다. 이것은 장치 또는 루비 문제이다. 여기에 내 코드입니다 :이 꽤 잘 작동 나를 위해Devise 및 current_page?
routes.rb
devise_for :users, :path => ''
_nav.html.haml
= navigation_link_to 'Home', root_path
/Insert Additional Nav
= navigation_link_to 'Sign in', new_user_session_path
application_helper.rb
def navigation_link_to(text, path)
link_to text, path, class: "btn#{active_link(path)}"
end
def active_link(path)
' active' if current_page?(path)
end