作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要仅向特定用户显示 ActiveAdmin 表单中的某些表单字段。但是当我尝试使用此代码检查用户状态时:
ActiveAdmin.register Store do
# ...
form do |f|
f.inputs "Basic" do
if current_admin_user.super_admin?
f.input :admin_user
end
# ...
end
end
end
我明白
undefined local variable or method `current_admin_user' for #<ActiveAdmin::DSL:0xdb8e798>
CanCan 方法在 ActiveAdmin 表单定义中也不起作用。
通常我的问题是:如何根据当前用户类型管理管理界面显示?特别是,如何从 ActiveAdmin 定义中获取当前的设备用户对象?
最佳答案
这是一个范围问题。您可以尝试使用 f.template 对象访问辅助方法,如下所示:
ActiveAdmin.register Store do
# ...
form do |f|
f.inputs "Basic" do
if f.template.current_admin_user.super_admin?
f.input :admin_user
end
# ...
end
end
end
祝你好运。
关于forms - 无法访问 AcitveAdmin 表单定义中的设备 current_admin_user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8253620/
我需要仅向特定用户显示 ActiveAdmin 表单中的某些表单字段。但是当我尝试使用此代码检查用户状态时: ActiveAdmin.register Store do # ... form
我是一名优秀的程序员,十分优秀!