2014-02-12 2 views
2

Есть некоторые проблемы с 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 

ответ

5

Это было просто добавлено к последней версии ActiveAdmin около 2,5 недель назад.

# Gemfile 
gem 'activeadmin', github: 'gregbell/active_admin' 

# app/admin/my_model.rb 
ActiveAdmin.register MyModel do 
    config.breadcrumb = false 
end 
+0

О, сказочный! Я пропустил это. Очень благодарен! – charliez

Смежные вопросы