5

重複の可能性:
アクティブな管理者にページを追加

私は現在、ActiveAdmin(およびRails 3.1)によって生成されたadminにモデルのないコントローラーを追加するためのソリューションを探しています。もちろん、ナビゲーションバーに新しいメニューを追加したいと思います。

使用しActiveAdmin.register MyControllerWithoutModel doてもうまくいきません。

編集:この質問は、アクティブな管理者にページを追加するのと重複していますが、回答が見つかりません。

4

2 に答える 2

2

これが私にとってはうまくいきました。コードブロックのViewLoggerを正しい名前に置き換えるだけです。これにより、データベースにダミー テーブルを作成する必要がなくなります。

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

class Viewlogger < ActiveRecord::Base

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

  # ...  

end

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

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

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

match '/admin/viewlogger' => 'admin/viewlogger#index', :as => :admin_viewlogger

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

ActiveAdmin.register Viewlogger 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/viewlogger/index', :layout => 'active_admin'
    end
  end   

終わり

于 2012-01-11T13:12:57.723 に答える
0

アプリケーション構成を編集するためにこれを探していましたが、モデルがないと不可能です。db にテーブルを持つ空のモデルを作成し、通常どおりリソースを登録しました。

リソースをカスタマイズするには:

フィルターを無効にする

config.clear_sidebar_sections!

カスタム メニュー パス

ActiveAdmin.application.namespaces[:admin].resources['Configuration'].namespace.menu.items.each{|i| i.instance_eval('@cached_url[:admin_configurations_path] = "/admin"')}
于 2011-10-21T19:02:16.490 に答える