我赋予管理员用户与普通用户不同的能力 当以admin用户登录时,有时即使得到了授权,我在某些操作上也没有得到授权的例外,但是当我刷新页面时,我又得到了授权。
有人知道如何解决此问题或是什么原因吗?
我的控制器和动作:
before_action :authorize_vendor
def delivery
@order = Order.find_by(number: params[:id])
authorize! vendor_action, @order
end
def vendor_action
"vendor_#{action}".to_sym
end
def authorize_vendor
record = if respond_to?(:model_class, true) && model_class
model_class
else
controller_name.to_sym
end
authorize! :vendor, record
authorize! vendor_action, record
end
以下是能力等级代码
@vendor_ids = vendors.pluck(:id).first
can :vendor, Order, vendor_id: @vendor_ids
can :vendor_delivery, Order, vendor_id: @vendor_ids
我正在使用Rails 5.1.6