devise의 로그인 화면에서만 적용됩니다.html.제외erb

2737 단어 RubyRails

appication.html.erb 모든 페이지에 반영


그런 기능이지만, 응용 프로그램.html.eb에 적힌 것은 모든 페이지에 반영됩니다.
예를 들어 자신이라면 응용 프로그램에 사용자 시작 동작의 꼬리표(투고화면, 검색화면, 즐겨찾기 리스트 페이지 등으로 이동)가 쓰여 있지만 로그인 화면에는 없다.
비망록을 위해서 기억할게요.

원자재


원자재는 이쪽 github입니다.
How To: Create custom layouts
가장 아래 Application/Devise Config 를 사용하는 세 가지 방법을 설명합니다.
그리고 그중에도 세 가지가 있는데, 나는 그 중에서 한가운데를 이용했다.

구체적 실현


config.응용 프로그램에 다음 코드를 쓰십시오.
위의 원자재도 있고, 자신은 응용 프로그램이다.html.erb를 적용하고 싶은 것은layout "devise"입니다.
적용하기 싫은 건 layout procer signed in으로 표시해.
config.application.rb
config.to_prepare do
      Devise::SessionsController.layout proc{ |controller| user_signed_in? ? "application" : "devise" }
      Devise::RegistrationsController.layout proc{ |controller| user_signed_in? ? "application" : "devise" }
      Devise::ConfirmationsController.layout "devise"
      Devise::UnlocksController.layout "devise"
      Devise::PasswordsController.layout "devise" 
    end
자신의 편집기를 보면 특정한 페이지가 자신의 어느 컨트롤러에 속하는지 알 수 있다.

devise 아래 편집기 목록에서 맞는 것을 찾으면 ok입니다.

좋은 웹페이지 즐겨찾기