这是我第一次使用这个 gem,它让我发疯了,因为它show
只是为资源所有者授权操作这样简单的事情。
我尝试了不同的方法,配置控制器映射和操作,但总是收到未经授权的消息show
,其他操作按应有的方式工作。
似乎这show
并没有通往 ApplicationAuthorizer。
这是它的配置方式:
class EnterpriseAuthorizer < ApplicationAuthorizer
# This works
def self.creatable_by?(user)
user.is_enterpriser?
end
# This doesn't
def readable_by?(user)
true # Just for testing
end
end
class EnterprisesController < ApplicationController
authorize_actions_for Enterprise
def show
@enterprise = Enterprise.find(params[:id])
respond_to do |format|
format.html
format.json { render json: @enterprise }
end
end
我有include Authority::UserAbilities
用户和include Authority::Abilities
企业模型。和用户has_one :enterprise
任何想法?认真考虑回滚到康康。
提前致谢。