加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在Rails中使用Active Admin gem时删除面包

发布时间:2020-12-17 03:48:40 所属栏目:百科 来源:网络整理
导读:我一直在使用Active admin gem,并希望从Admin仪表板中删除面包屑.为实现这一点,我提到了 this blog来定制TitleBar. 我做了以下步骤: 创建了我自己的类MyTitleBar并从 active_admin/views/title_bar.rb 复制了TitleBar类的内容. 在方法build_titlebar_left中
我一直在使用Active admin gem,并希望从Admin仪表板中删除面包屑.为实现这一点,我提到了 this blog来定制TitleBar.

我做了以下步骤:

>创建了我自己的类MyTitleBar并从active_admin/views/title_bar.rb复制了TitleBar类的内容.
>在方法build_titlebar_left中删除了build_breadcrumb行.
>删除了整个方法build_breadcrumb.
>将活动管理员配置更新为:

config.view_factory.title_bar = MyTitleBar

这很好用.

我的问题:

>这是实现上述任务的正确方法吗?
>另外,有没有办法以模型方式删除面包屑?

解决方法

虽然这个解决方案可行,但肯定不太理想.我注意到看看ActiveAdmin gem它们是 breadcrumb的配置选项:

ActiveAdmin.register Post do

  breadcrumb do
    [
      link_to('my piece','/my/link/to/piece')
    ]
  end
end

它看起来像需要一个代码块,它返回到一个链接变量.查看TitleBar::build_breadcrumb,如果未定义此配置选项,则只设置指向breadcrumb_links()结果的链接.最后,如果存在某种类型的链接数组,则将其格式化以进行打印.否则,该方法不返回任何内容.

因此,要解决您的问题,请尝试编写返回nil或空的代码块.我没有对此进行过测试,但是下面的代码块也是如此.这个想法是,如果你输入变量nil,它不应该通过links.present?测试并应立即返回,而不是构建不需要的breadcrumb HTML.或者,一个空数组应该符合它所期望的类型,但是没有任何项目都不应该显示.我需要在本地测试,看看哪个在前端工作得更好.

/config/initializers/active_admin.rb:

# Return a Proc that simply returns an empty array
config.breadcrumb = Proc.new{ [] }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读