RailsAdmin-导出操作

时间:2019-02-20 10:05:14

标签: ruby-on-rails ruby-on-rails-4 rails-admin

最近我开始使用Rails Admin创建管理面板。

我正在使用devise进行身份验证。我需要在导出操作中访问current_user。

对于formatted_value块中的虚拟属性,我无法通过bindings[:controller]._current_userbindings[:view]._current_user到达current_user。在绑定内部,只有对象(bindings[:object]),而bindings[:controller]不存在。

如何在导出操作中访问current_user

1 个答案:

答案 0 :(得分:1)

这是如何在模型配置内的块上吸引当前用户

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 admin config中指定

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