40

作業中のアプリの管理インターフェイスに Activeadmin を使用しています (気に入っています)。リソース表示ページの右上隅にある [新しいリソース] リンクを無効にする方法があるかどうか知りたいです。

私が使用している特定のリソースは別のリソース内にネストされており、その親リソースの表示ページから作成できる部分があります。

メニューでリソースを無効にしましたが、リソースをメニューに残したままにして、親リソースを調べてリソースを見つけなくてもリソースを表示/編集/削除できるようにします。

4

9 に答える 9

70

以前の解決策は私にはうまくいきませんでした、それでここに一般的な解決策があります、それは常に働きます:

ActiveAdmin.register Book do
  actions :index

  #or like that
  #actions :all, :except => [:destroy]

  index do
    column :title
    column :author
  end  
end
于 2011-11-08T17:50:37.717 に答える
34

へのリンクおよび表の上にある他のconfig.clear_action_items!リンクを削除してみてくださいNew

于 2011-10-20T11:45:51.763 に答える
8

私はこれが古い質問であることを知っていますが、私はそれを思いついた (同じ問題を抱えていた) だけで、config.clear_action_items!actions :all, :except => [:new]が根本的に異なることに気付きました。

config.clear_action_items!Newインデックスページからボタンを削除しますがactions :all, :except => [:new]、ボタンとルートの両方を削除します。つまり、別の場所から呼び出すことはできません(私の場合は必要です)。

于 2015-05-27T15:58:24.277 に答える
6

これは私がしました:

controller do
  def action_methods
    if some_condition
      super
    else
      super - ['new', 'create', 'destroy']
    end
  end
end

可能なアクションの一部を無効にします。action_methodsは 7 つの標準 CRUD アクションの配列を返すため、不要なものを差し引くことができます

于 2016-05-05T01:22:34.390 に答える
4

あるいは:

ActiveAdmin.register Purchase do
  config.clear_action_items!
  actions :index
end
于 2012-11-23T11:23:46.460 に答える
0
Worked for me too ! :-) 

ActiveAdmin.register AssetSumView do
             menu :label => "Asset Summary View", :parent => "Things"
# no button for NEW (since this is a db view)
#---------------------------------------------------------------------------------------------
config.clear_action_items!

    enter code here

   action_item do
      link_to "Assets" , "/admin/assets" 
    end

   action_item do
      link_to "AssetCatgCodes", "/admin/asset_catg_codes"
    end

#---------------------------------------------------------------------------------------------
于 2012-07-15T16:34:07.780 に答える