2014-12-29 3 views
0

저는 현재 rails 4.2.0beta4와 devise를 사용하고 있습니다. 내 스키마에서 내 사용자는 부울 값을 갖습니다. admin 기본값 : false. rails_admin을 설치 한 후 당분간 모든 사용자는 my/admin으로 이동할 수 있습니다. 하지만 어떻게해야 부울 is_admin을 가진 사용자 만 만들 수 있습니까? 진정한 사람들은 로그인합니까?rails_admin 사용자의 부울 관리자와의 인증

레일즈를 생성해야할까요? 다시 구성해야하는 것보다 더 빠른 선택일까요?

미리 감사드립니다. 에서 routes.rb

namespace :admin do 
    resources :your_routes 
end 

- 2 - 내가 관리자 네임 스페이스를 만들 것

답변

0

... 1 다음 디렉토리가 존재해야합니다; app/views/admin, app/controllers/admin을 선택하고 관리자로 제한하려는 컨트롤러 및보기 템플리트를 해당 폴더의 관리자로 지정하십시오.

3 -

def user_is_admin? 
    signed_in? && current_user.is_admin? 
end 

4 application_controller.rb이 추가 - 다음 앱/컨트롤러/관리자 내부에 컨트롤러에 before_filter를 추가 들어 some_controller.rb

class Admin::YourController < ApplicationController 
    before_filter :user_is_admin? 
end 

를 확인하는 것 가치가 있습니다. 원하지 않으면 네임 스페이스를 사용할 필요가 없습니다. 엄밀히 말하면 3, 4 단계의 before_filter를 보호 할 액션에 추가 할 수는 있지만 장기적으로는 네임 스페이스가 더 좋은 아이디어라고 생각합니다.