2011-04-11 4 views
2

저는 앱의 인증 프로세스에 CanCan과 Devise를 사용하고 있으며 모든 것이 완벽하게 작동합니다.모델 관계를 통해 CanCan의 승인 작업

그러나 사용자가 항목 목록을 만들 수있는 설정이 있습니다.

List 모델에는 user_id가 있으며 인증은 정상적으로 작동하지만 항목 소유권은 List : has_many Item 관계를 통해 처리되며 Item에는 실제로 user_id 열이 없습니다.

CanCan은 어떻게 처리합니까?

나는
can :manage, Item do |item| 
    item.list.user_id = user.id 
end 

을 시도하지만, URL의 항목 ID를 입력에 관계없이 목록 소유권의 모든 항목에 대한 모든 사용자 액세스를 제공합니다.

내가 지금 여기 사람이 의견을 기대 감사

답변

5

당신이 ===를 혼동나요

을 도울 수있을 기대 캉캉의 GitHub의에 위키에서이 문제를 다루 듯 아무것도 찾을 수 없습니다

?

can :manage, Item do |item| 
    item.list.user_id == user.id 
end 
+1

저는 공식적으로 바보입니다 ... 나는 그것을 놓쳤다 고 믿을 수 없습니다. 몇 시간 후에 무언가를 찾으러 가끔씩 나무를 볼 수없는 나무가 보입니다. 너무 부드럽게 지적 주셔서 감사합니다 :) – fullybaked

관련 문제