Есть некоторые проблемы с Active Admin on clained belongs_to. Среди прочего, это приводит к тому, что сухари иногда показывают неправильные ссылки.Изменение модуля activeadmin для скрытия панировочных сухарей
Я надеялся найти способ просто спрятать панировочные сухари на некоторых (но не всех) страницах, изменив помощник помощника паники в инициализаторе. F например:
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
О, сказочный! Я пропустил это. Очень благодарен! – charliez