안녕하세요, 저는 rolify를 사용하고 있습니다. 실제로 그것을 최대한 활용하고 있지 않다는 것을 깨달았습니다.Rolify의 목적은 무엇입니까?
현재내가 다시 라우팅 사용자의 경우 current_user.has_role? :whatever_role
처럼 내 컨트롤러에서 일을하고, 그들이 어떤 다른 역할이있는 경우 사용자를 허용하고 ...
누군가가 rolify에 대한 유래에 대한 질문을하고 난에 도착했을 때 대답을하려고하면, 내가 잘못하고 있다는 것을 깨달았습니다. 이제
user ||= User.new # guest user (not logged in)
if user.has_role? :consumer
can :manage, Review
else
can :read, Review
end
을이 전 사용자에게 소비자 역할을 추가 가정 해 봅시다 :
x=User.last
x.add_role :consumer
# => #<Role id: 10, name: "consumer", resource_id: nil, resource_type: nil, created_at: "2013-04-18 23:00:46", updated_at: "2013-04-18 23:00:46">
마우스 오른쪽 단추로 내 혼란이 시작되는 지금
, 여기에 내가 가진 ability.rb의 내부입니다 ... 그래서 역할이 만들어집니다. 나는 수행하여이 문제를 확인할 수 있습니다 내가 제품을하려고 여기에 ... ...
이x.has_role? :consumer
=> true
지금이 리뷰에 대한 관리 기능을 제공 할 것으로 예상하는 다른 모델에 대한
x.has_role? :consumer, Review
=> true
하지만를
x.has_role? :consumer, Product
=> true
"리소스 역할 쿼리"를 검토하고 적용된 역할에 대한 검토를 시도 할 때 적용되는 역할은 없습니다.
Review.first.applied_roles
=> []
누군가 내게 설명해 줄 수 있습니까? this reddit post:
인증에서 질문을 차압 감사
나는 질문의 출처로 reddit을 좋아하지만 ** ** stackoverflow는 답변의 ** 신뢰할 수있는 출처 **입니다. 그래서 저는 모든 사람들이 더 쉽고 빠르게 찾을 수있는 질문을 복습했습니다. 그리고 [reddit에 내 대답을 올렸습니다] (http://www.reddit.com/r/rails/comments/1cn4ra/can_someone_please_explain_the_abilityrb_file/c9i7s55). reddit에서 내 대답이 그에게 호의적이지 않은 것으로 보이는 경우 여기에서 대답에 대한 더 나은 응답에 링크 한 다음 닫습니다. 그렇지 않으면, 나는 그의 질문이 여기에 응답되기를 원할 것이다. 나는 그 다음에 내가 reddit에 전달할 것이다. –