11

管理者にヘルプ ページを追加したいと考えており、アクティブな管理者の gem を使用しています。このページはどのモデルにも関連付けられていないため、すべてのページのメニュー バーにリンクを表示する方法を見つけようとして苦労しています。

4

2 に答える 2

17

私は少し遅れていることを知っていますが、私は通常:Dです。

ActiveAdmin.register_page "Help" do

  content do
    panel "My Panel Test" do
      "Hello World"
    end
  end  


  sidebar "Test Sidebar" do
    "Hi World"
  end
end

これがactive_adminの対応するコードブロックです

# Register a page
#
# @param name [String] The page name
# @options [Hash] Accepts option :namespace.
# @&block The registration block.
#
def register_page(name, options = {}, &block)
  namespace_name = extract_namespace_name(options)
  namespace = find_or_create_namespace(namespace_name)
  namespace.register_page(name, options, &block)
end
于 2012-01-19T02:30:23.257 に答える
2

警告: これはどうしようもなく時代遅れであり、2020 年にはもう関係ありません。これは、activeadmin <0.7 バージョン用でした。

この内容でファイル /app/models/help.rb を作成します。より高度なテーブルレス モデルについては、http://keithmcdonnell.net/activerecord_tableless_model_gem.html をチェックする、自分の洞察を一緒にググってください。

class Help < ActiveRecord::Base

  def self.columns 
    @columns ||= []
  end

  # ...  

end

/config/initializers/inflections.rb にエントリを追加します

ActiveSupport::Inflector.inflections do |inflect|
  inflect.uncountable %w( help )
end

config/routes.rb で、viewlogger のルートを設定します。

match '/admin/help' => 'admin/help#index', :as => :admin_help

次のように activeadmin register ブロックを定式化できるようになりました (適切な場所にパーシャル ビューを作成するようにしてください)。

ActiveAdmin.register Help do      
  config.comments = false
  before_filter do @skip_sidebar = true end
  # menu false
  config.clear_action_items!   # this will prevent the 'new button' showing up    
  controller do
    def index
      # some hopefully useful code
      render 'admin/help/index', :layout => 'active_admin'
    end
  end   

end
于 2012-01-12T14:15:34.490 に答える