1

custom_page アクションへのアクセスを管理するには? 私はこのコードを持っています:

ActiveAdmin.register_page 'Import' do
  menu false

  content do
    panel t('views.import.title') do
      render 'form'
    end
  end

  page_action :parse, method: :post do
    @import = current_user.imports.new(params[:import])
    if @import.save
      @import.process
    end
  end

  page_action :check_status do
    imports = current_user.imports.finished.unreaded
    size = imports.size
    imports.update_all readed: true
    render json: {has_new_ended: size}
  end
end

現在、このアクションへのアクセス権は管理者のみです。彼のルールは次のようになっているためです。

can :manage, :all

しかし、このアクションに他のロールにアクセスする必要があります。ある役割のためにこれを行う場合、それは役に立ちません。

can [:check_status, :parse], ActiveAdmin::Page, name: 'Import'

この

can [:manage, :parse, :check_status], Import
4

3 に答える 3

0

アクションを承認する必要があります。詳細: https://github.com/ryanb/cancan#2-check-abilities--authorization

于 2014-05-23T13:05:42.433 に答える