我在我的 rails 应用程序中使用了 cancancan 身份验证机制。我只希望那些拥有自己帖子和评论的用户不被编辑和删除,而管理员来管理所有事情。我的管理能力工作正常,但其他人没有工作。这是我的能力.rb 文件
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user
if user.admin?
can :manage, :all
else
can :read, :all
can :create, Topic
can :update, Topic do |topic|
topic.try(:user) == user
end
can :delete, Topic do |topic|
topic.try(:user) == user
end
can :delete, Comment do |comment|
comment.try(:user) == user
end
# can :manage, Comment, :task => { :user_id => user.id }
can :update, Comment do |comment|
comment.try(:user) == user
end
end
end
结束我应该做什么才能正常工作。它适用于主题但不适用于评论
这是我的主题控制器中的行
load_and_authorize_resource :topic