Я даю пользователю-администратору другие возможности, чем обычным пользователям. При входе в систему с правами администратора иногда я получаю несанкционированное исключение для некоторых действий, даже если оно должно быть авторизовано, но затем, когда я обновляю страницу, я снова авторизируюсь.
Кто-нибудь знает, как решить эту проблему или что ее вызывает?
мой контроллер и действие:
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
Я использую рельсы 5.1.6