2012-02-03 2 views
0

Devises with Rails 3.1을 사용하고 있으며 Devise에 대한 모든 뷰를 생성했습니다. 내가 수동으로 모든 고안보기에이를 추가 한 순간모든 Devise Views에 래퍼 추가

<div class="devise-container"> 
    <!-- Devise view --> 
</div> 

, 그러나 이것은 매우 DRY되지 않습니다 :

나는 어떤 고안보기는 사업부에 싸여되어야합니다. 더 좋은 방법이 있습니까?

답변

3

사용자가 Devise 컨트롤러를 사용하고 있고이를 재정의하지 않았다고 가정하면 "devise.html.haml"또는 "devise.html.erb"(또는 템플릿 언어 use)를 app/views/layouts/디렉토리에 추가하고 필요한 맞춤 코드를 추가하십시오.

레이아웃 이름이 컨트롤러 이름과 일치하기 때문에이 레이아웃이 자동으로로드되어 응용 프로그램 컨트롤러를 무시해야합니다.

그러나, 말했다, 더 나은 솔루션은 사용자 정의 스타일을 추가하여 현재 컨트롤러 이름 (controller.name)와 응용 프로그램 레이아웃의 태그에 클래스를 추가하고 문제를 관리하기 위해 CSS를 사용할 수 있습니다 "body.devise"페이지로 이동하십시오. 이 솔루션은 유연성이 뛰어나고 프리젠 테이션 문제이므로 애플리케이션 코드에 혼란을 덜어줍니다.

1

없습니다. 또는 일부보기 리팩터링을 수행 할 수 있습니다.

설치보기는 완전히 새로운보기 파일 만들기와 동일합니다.

리팩토링에서 특정 div를 도우미 할 수 있습니다. 또는 일부 "레이아웃"을 수행하십시오

관련 문제