2

authorize! :admin, model以下代码中的行是什么意思?我在代码中的任何地方都找不到该:admin操作。这类似于:manage选项吗?

spree_auth-1.0.3/app/controllers/spree/admin/admin_controller_decorator.rb:

require File.expand_path('../../base_controller_decorator', __FILE__)
Spree::Admin::BaseController.class_eval do
  before_filter :authorize_admin

  def authorize_admin
    begin
      model = model_class
    rescue
      model = Object
    end
    authorize! :admin, model
    authorize! params[:action].to_sym, model
  end

  protected
    def model_class
      "Spree::#{controller_name.classify}".constantize
    end
end
4

1 回答 1

2

该方法来自康康宝石。它用于确保current_user有权在任何继承自的控制器中执行操作Spree::Admin::BaseController.

于 2012-04-15T14:35:32.083 回答