Batch_Action表单块中无法访问当前用户

问题描述 投票:0回答:1

尝试访问batch_actionform块中的current_user,如下:

batch_action 'Change Status', confirm: 'Mass-Assign Status', 
form: {'Location' => City.where(:company_id => current_user.company_id).map{|s| [s.to_s, s.id]}} 
do |selection, inputs|
    //---- Code ----- (current_user can be accessed over here successfully)
end

我收到的错误是undefined local variable or method current_user for #<ActiveAdmin::ResourceDSL:0x00007f814b3e0db8> (NameError)

但是我可以轻松地在do-end块中访问current_user。

  • Ruby版本:2.5.5p157
  • Rails版本:4.2.11.1
  • ActiveAdmin
ruby-on-rails activeadmin cancan
1个回答
0
投票

我认为在这种情况下无法访问该变量。

尝试使其具有全局性和使用性。

#config/initializers/active_admin.rb

ActiveAdmin.setup do |config|
  config.before_filter do
    $current_admin_user = current_admin_user
  end
end
© www.soinside.com 2019 - 2024. All rights reserved.