RailsAdmin - действие экспорта - PullRequest
0 голосов
/ 20 февраля 2019

Недавно я начал использовать Rails Admin для создания панели администратора.

Я использую devise для аутентификации.Мне нужно получить доступ к current_user в действии экспорта.

Для виртуальных атрибутов в блоке formatted_value я не могу связаться с current_user через bindings[:controller]._current_user или bindings[:view]._current_user.Внутри привязок есть только объект (bindings[:object]) и bindings[:controller] не существует.

Как получить доступ к current_user в действии экспорта?

1 Ответ

0 голосов
/ 21 февраля 2019

Таким образом вы получаете текущего пользователя в блоке внутри конфигурации модели

rails_admin do
  show do
    field :user do
      value do
         bindings[:view].current_user
      end
    end
  end
end

Внутри действия вы должны иметь доступ к current_user

module RailsAdmin
  module Config
    module Actions
      class Export < RailsAdmin::Config::Actions::Base
        RailsAdmin::Config::Actions.register(self)
        [...]
        register_instance_option :controller do
          proc do
            @user = current_user
            redirect_to back_or_index
          end
        end
      end
    end
  end
end

Если вы неУбедитесь, что вы указали это в конфигурации администратора rails

# config/initializers/rails_admin.rb
RailsAdmin.config do |config|
  config.current_user_method(&:current_user)
end
...