在链接的belongs_to上,Active Admin存在一些问题。除其他外,它会导致面包屑有时显示错误的链接。
我希望通过修改初始化程序中的活动管理面包屑帮助程序,找到一种简单地将面包屑隐藏在某些(但不是全部)页面上的方法。 F ex:
module ActiveAdmin
module ViewHelpers
module BreadcrumbHelper
def breadcrumb_links(path = request.path)
if @hidebread
false
else
parts = path[1..-1].split('/') # remove leading "/" and split up the URL
parts.pop # remove last since it's used as the page title
parts.each_with_index.map do |part, index|
# 1. try using `display_name` if we can locate a DB object
# 2. try using the model name translation
# 3. default to calling `titlecase` on the URL fragment
if part =~ /\A(\d+|[a-f0-9]{24})\z/ && parts[index-1]
parent = active_admin_config.belongs_to_config.try :target
config = parent && parent.resource_name.route_key == parts[index-1] ? parent : active_admin_config
name = display_name config.find_resource part
end
name ||= I18n.t "activerecord.models.#{part.singularize}", :count => ActiveAdmin::Helpers::I18n::PLURAL_MANY_COUNT, :default => part.titlecase
link_to name, '/' + parts[0..index].join('/')
end
end
end
end
end
end
但这会给出错误“未初始化的常量ActiveAdmin :: Helpers :: I18n”。理解如何解决这个问题可能会超出我的Rails技能。有没有办法解决这个问题,或者有办法在模块上调用类似“超级”的东西,以便我可以做类似的事情
def breadcrumb_links(path = request.path)
if @hidebread
false
else
super
end
end
答案 0 :(得分:5)
大约2.5周前,它刚刚添加到最新版本的ActiveAdmin中。
# Gemfile
gem 'activeadmin', github: 'gregbell/active_admin'
# app/admin/my_model.rb
ActiveAdmin.register MyModel do
config.breadcrumb = false
end