나는 사용자, 블로그, 게시, BlogMembership 모델을 포함하는 레일 응용 프로그램이 있습니다. 능력 클래스에서cancan 규칙 생성 문제
class BlogMembership < ActiveRecord::Base
belongs_to :user
belongs_to :blog
# Membership types:
SUBSCRIBER = 0
AUTHOR = 1
MODERATOR = 2
end
class Blog < ActiveRecord::Base
has_many :posts
has_many :memberships, :class_name => "BlogMembership"
# Blog memberships
def subscribers
self.memberships.where(:membership_type => [BlogMembership::SUBSCRIBER, BlogMembership::AUTHOR, BlogMembership::MODERATOR]).collect(&:user)
end
def authors
self.memberships.where(:membership_type => [BlogMembership::AUTHOR, BlogMembership::MODERATOR]).collect(&:user)
end
def moderators
self.memberships.where(:membership_type => BlogMembership::MODERATOR).collect(&:user)
end
end
(내가 액세스 제한에 대한 캉캉을 사용하기 때문에) 내가 블로그 사용자와 운영자의 액세스를 제한하려고 노력하지만, 모든 사용자가에 게시물을 보낼 수 있습니다
if user.is? :moderator
can :manage, Post do |post|
post.blog.moderators.include? user
end
end
규칙 다음 어떤 블로그.
다음 관계 계획을 위해 능력 클래스에서 규칙을 올바르게 구성하는 방법을 알려주십시오.
컨트롤러에서 사용자가 게시물을 보낼 수있는 권한이 있는지 확인하는 방법은 무엇입니까? – DNNX