【问题标题】:Is it posible to use cancan methods in activeadmin initializer, specially to render menu?是否可以在 activeadmin 初始化程序中使用 cancan 方法,特别是渲染菜单?
【发布时间】:2013-06-19 15:22:38
【问题描述】:

在 activeadmin 初始化程序中,我在 utility_navigation(right_part) 中添加了附加项。代码如下:

config.namespace :admin do |admin|
  admin.build_menu :utility_navigation do |menu|
    menu.add label: I18n.t('active_admin.menu.import'), url: '/admin/import'
    admin.add_logout_button_to_menu menu
  end
end

如何使用罐头?构建菜单时检查访问的方法?我认为,在配置中 cancan 尚未初始化。

【问题讨论】:

    标签: ruby-on-rails activerecord activeadmin cancan


    【解决方案1】:

    菜单项可以在运行时使用 :if 选项显示或隐藏。

        menu.add label: I18n.t('active_admin.menu.import'), url: '/admin/import', if: proc{ current_user.admin? } #or use any cancan magic.
    

    proc 将在视图的上下文中调用,因此您可以访问所有帮助程序和当前用户会话信息。

    Activeadmin Doc

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 嗯,你明白吗,我的意思是初始化文件,而不仅仅是简单的页面?
      猜你喜欢
      • 1970-01-01
      • 2022-08-14
      • 2020-07-06
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      相关资源
      最近更新 更多