2014-07-16 3 views
2

내 응용 프로그램에 Question 모델이 있습니다. 허가이름 공간이있는 전문가 정책

응용 프로그램/모델/question.rb

class Question < ActiveRecord::Base 
    ... 
end 

내가 사용 '학자'보석. 질문에 몇 가지 변경 사항을 적용 할 수있는 컨트롤러가 두 개 있습니다. 하나는 등록 된 사용자 용이고 다른 하나는 admin 용입니다.

컨트롤러에 대해 별도의 정책을 만들려고합니다.

응용 프로그램/컨트롤러/questions_controller.rb

class QuestionsController < ApplicationController 
    ... 
end 

응용 프로그램/정책/question_policy.rb

class QuestionPolicy < ApplicationPolicy 
    ... 
end 

응용 프로그램/컨트롤러/관리/questions_controller.rb

class Admin::QuestionsController < Admin::ApplicationController 
    ... 
end 

응용 프로그램/policies/admin/question_policy.rb

class Admin::QuestionPolicy < Admin::ApplicationPolicy 
    ... 
end 

Admin :: QuestionsController에서 '권한 부여'방법을 사용하려고 할 때 admin 폴더가 아닌 app/policies/question_policy.rb 클래스를 사용합니다.

보석 설명서에 나와있는 것처럼 작동해야합니다 (https://github.com/elabs/pundit#namespaced-policies).

누군가 저를 도와 줄 수 있습니까?

답변

0

은 내가 github의 소스 코드에서 문제를 만들었으며이 같은 설명과 함께 폐쇄되었습니다 :

워드 프로세서는 현재 출시되지 않은 마스터 지점을 참조하십시오. gemfile의 github 소스를 참조하여 사용할 수 있습니다. 사람이 아직이 기능을 찾고 있다면

# Gemfile 
gem 'pundit', github: 'elabs/pundit' 
A bundle install later your code should work. 

You can switch back to a released version on Rubygems as soon as 0.3.0 is out. We're still  discussing a few namespacing issues, but it will come soon. 
+0

이 솔루션은 저에게 효과적입니다. – jizak

0

, 나는 ActiveAdmin을 내 최종 사용자에 직면 사이트 사이의 분열 권한에 대한뿐만 아니라 그것을 필요로했다. 나는 controller-based namespaced authorizations (당신의 정책이 효과가있을 것입니다.)을위한 Pundit 호환 보석을 제작했으며, 전문가들을 위해 출시 된 기능을 따라갈 계획입니다. 또한 ActiveAdmin 어댑터도 포함되어 있습니다.

관련 문제