가입을 Devise 관리자로 제한하려고합니다. 가능한 경우 CanCan을 지금 사용하지 않는 것이 좋습니다. 옵션 # 1에 설명 된대로 별도의 Devise Admin 모델을 만들었습니다 : https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-Role.Devise를 사용하여 가입을 제한하는 방법
다음은 여기에 설명 된대로 사용자를위한 CRUD 인터페이스를 설정합니다 : https://github.com/plataformatec/devise/wiki/How-To:-Manage-users-through-a-CRUD-interface.
사용자 컨트롤러에서 before_filter :authenticate_admin!
과 같은 것을 사용하여 새로운 가입을 제한하고 싶지만 어떤 이유로 새로운 가입을 제한하지 않습니다.
내 routes.rb은 다음과 같습니다
devise_for :admins
devise_for :users, :path_prefix => 'd'
resources :admins
resources :users, :controller => "users"
어떤 아이디어가 왜 before_filter :authenticate_admin!
새로운 가입을 제한되지 않는 이유는 무엇입니까?
관리자 역할을 추가 할 때'before_filter : authenticate_admin! '을 사용할 수 있어야합니다. 이 기능은 현재 사용자 색인 및 표시 작업 (관리자로 사용자 관리)에서 나를 위해 작업 중입니다. 왜 액션을 만들지 않는지 확실하지 않습니다. 제거하고 싶지 않습니다. 관리자가 사용자를 추가 할 수 있기를 원하기 때문에 등록이 가능합니다. – Scott
안녕하세요. Scott, 새로운'create' 액션을 정의 할 필요가 없습니다. 당신이 devise의 소스 코드를 들여다 보면,'app/controllers/devise/registrations_controller.rb'에서 devise가 당신의 모든 작업을 수행했다는 것을 알게 될 것입니다,'authenticate_scope!'는'authenticate_admin! '귀하의 경우, prepended되며 ** edit edit update update **에 대해서만 작동합니다 **. 액션을 생성하기 위해서'authenticate_admin! '필터를 추가하고 싶다면'Devise :: RegistrationsController'를 상속 받아'prepend_before_filter : authenticate_scope !: : except => [: cancel]'을 추가하면됩니다. – Tomato
나는 이것이 장치를 사용하는 것만으로 너무 복잡해지기로 결정했다. 그래서 CanCan을 추가했다. 도와 주셔서 감사합니다. – Scott