2010-03-13 1 views
0

이 문제에 대한 의견을 수집하는 데 도움이 필요합니다.레일 기반 응용 프로그램에서 루비의 하위 폴더를 사용하여 컨트롤러를 분리하는 장단점은 무엇입니까?

Google 팀에서는 앱의 인증 된 섹션과 공개 섹션을 별도의 폴더 두 개로 분리하면보다 체계적이고 안전하게 보호 할 수 있습니다. 사이트 내에서 Admin 앱에 대한이 접근법을 보았지만 인증을 위해 결코 사용하지 않았습니다.

우리는 현재 Authlogic을 사용하고 있습니다.

이 단점은 무엇입니까?

도움 주셔서 감사합니다.

+0

업데이트 : 우리는 네임 스페이스가 상황을 상당히 복잡하게 만들 수 있음을 발견했습니다. 각 네임 스페이스 내에서 리소스가 중복되므로 항상 네임 스페이스의 범위를 이해해야합니다. 우리는 권한 부여를 다루는 훨씬 더 좋은 방법이 있기 때문에 네임 스페이스를 디싱하지 못했습니다. – rparra

답변

0

컨트롤러를 하위 폴더로 옮길 때 어떤 단점도 발견하지 못할 것이라고 생각합니다. 우리는 실제로 "네임 스페이스"/ process에 의해 이것을 수행합니다. 예를 들어 주문과 관련된 모든 컨트롤러를 포함하는 "주문"하위 폴더가 있습니다.

난 당신의 레일 애플 리케이션 디렉토리 안쪽에 깨끗한 폴더 구조를 유지 보수 가능성을 증가 생각합니다.

+0

안녕 루비, 다른 회사에서이 작업을 수행했는지 확인하는 것이 좋습니다. 감사합니다. – rparra

+0

하위 폴더는 괜찮은 것처럼 보이지만 네임 스페이스 컨트롤러는 아닙니다. 당신은 다양한 문제에 빠지게 될 것입니다. 캐싱으로 시작합니다. – rubiii

0

우리는 이러한 방식으로 네임 스페이스 컨트롤러를 사용합니다. 일반적으로 관리자와 사용자 계정 컨트롤러에 각각/admin과/my 폴더가 있습니다.

또한 하위 폴더에는 해당 하위 폴더의 각 컨트롤러가 파생되는 application_controller.rb가 있습니다.

class Admin::AdminController < ApplicationController 
    permit "admin" 
    layout 'admin' 
end 

우리는 다음 우리의 관리 컨트롤러에서이 컨트롤러에서 상속 수 있습니다 : 그래서 관리자 하위 폴더에, 우리는이처럼 보이는 application_controller.rb 있습니다. 이 예에서는 역할에 대해 rails-authorization-plugin을 사용합니다.