質問

私は取り組んでいるアプリでActiveAdminを管理インターフェイスに使用しています(それを愛する)。リソースショーページの右上隅に「新しいリソース」リンクを無効にする方法があるかどうか興味がありますか?

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

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

役に立ちましたか?

解決

config.clear_action_itemsを試してください!

他のヒント

以前の解決策は私のためには機能しなかったので、ここに一般的な解決策があります。

ActiveAdmin.register Book do
  actions :index

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

  index do
    column :title
    column :author
  end  
end

これにより、最上位から「新しいリソース」ボタンが削除されました。

    config.clear_action_items!

これにより、「新しいリソース」ボタンと「リソースはまだありません - 作成」の両方が削除されました。

    actions :all, :except => [:new]

ありがとう、イリオ

私はこれが古い質問であることを知っていますが、私はちょうどそれに近づいてきました(同じ問題がありました)、それを認識しました config.clear_action_items!actions :all, :except => [:new] 基本的に異なっています。

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

config.clear_action_items!

すべてのアクションを削除します。新しいアクションリンクのみを削除する場合は、以下を使用できます。

config.remove_action_item(:new)

これは私がしました:

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

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

あるいは:

ActiveAdmin.register Purchase do
  config.clear_action_items!
  actions :index
end
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

#---------------------------------------------------------------------------------------------
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top