it-swarm-id.com

Activeadmin menonaktifkan metode "sumber daya baru"

Saya menggunakan Activeadmin untuk antarmuka admin pada aplikasi yang sedang saya kerjakan (menyukainya) dan saya ingin tahu apakah ada cara untuk menonaktifkan tautan "Sumber Daya Baru" di sudut kanan atas halaman pertunjukan sumber daya?

Sumber daya tertentu yang saya gunakan bersarang di dalam sumber daya lain dan saya memiliki sebagian yang memungkinkan untuk dibuat dari halaman acara pada sumber daya induk itu. 

Saya telah menonaktifkan sumber daya di menu, tetapi saya lebih suka meninggalkan sumber daya di menu sehingga saya dapat melihat/mengedit/menghapus sumber daya tersebut tanpa harus menemukannya dengan melihat melalui sumber daya induknya.

38
YuKagi

Coba config.clear_action_items!

30
makvool

Solusi sebelumnya tidak berfungsi untuk saya, jadi inilah solusi umum, yang selalu berfungsi:

ActiveAdmin.register Book do
  actions :index

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

  index do
    column :title
    column :author
  end  
end
68
makaroni4

Ini menghapus tombol "Sumber Daya Baru" dari kanan atas:

    config.clear_action_items!

Ini menghapus tombol "Sumber Daya Baru" dan juga kotak "Belum ada sumber daya - buat satu".

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

Terima kasih, Irio 

22
ea0723

Saya tahu ini adalah pertanyaan lama, tetapi saya baru saja mengatasinya (memiliki masalah yang sama), dan menyadari bahwa config.clear_action_items! dan actions :all, :except => [:new] pada dasarnya berbeda.

config.clear_action_items! akan menghapus tombol New dari halaman indeks, sedangkan actions :all, :except => [:new] akan menghapus kedua tombol, DAN rute, yang berarti Anda tidak dapat memanggilnya dari tempat lain (yang, dalam kasus saya, diperlukan).

6
Pedro Rodrigues

Saya melakukan ini:

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

Untuk menonaktifkan beberapa tindakan yang mungkin. action_methods mengembalikan array 7 tindakan CRUD standar, sehingga Anda dapat mengurangi yang tidak Anda inginkan

5
jpbalarini
config.clear_action_items!

Akan menghapus semua tindakan. Jika Anda hanya ingin menghapus tautan tindakan baru, Anda juga dapat menggunakan:

config.remove_action_item(:new)
5
hcarreras

Atau bahkan:

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

#---------------------------------------------------------------------------------------------
0
Balius