最近我开始使用Rails Admin
创建管理面板。
我正在使用devise进行身份验证。我需要在导出操作中访问current_user。
对于formatted_value
块中的虚拟属性,我无法通过bindings[:controller]._current_user
或bindings[:view]._current_user
到达current_user。在绑定内部,只有对象(bindings[:object])
,而bindings[:controller]
不存在。
如何在导出操作中访问current_user
?
答案 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