削除アクション アイテムは、path/to/activeadmin_gem/lib/active_admin/resource/action_items.rb の add_default_action_items に追加されます。
module ActiveAdmin
class Resource
module ActionItems
...
def add_default_action_items
...
end
end
end
したがって、削除ボタンをすべて消去するか、特定の css クラスを追加するだけです。gem ソースを変更するのではなく、以下を /config/initializers/activeadmin.rb の最後に追加して、プライベート モジュール メソッドを動的に開くことによって
module ActiveAdmin
class Resource
module ActionItems
private
def add_default_action_items
# New Link on all actions except :new and :show
add_action_item :except => [:new, :show] do
if controller.action_methods.include?('new')
link_to(I18n.t('active_admin.new_model', :model => active_admin_config.resource_name), new_resource_path)
end
end
# Edit link on show
add_action_item :only => :show do
if controller.action_methods.include?('edit')
link_to(I18n.t('active_admin.edit_model', :model => active_admin_config.resource_name), edit_resource_path(resource))
end
end
# Destroy link on show
add_action_item :only => :show do
if controller.action_methods.include?("destroy")
link_to(I18n.t('active_admin.delete_model', :model => active_admin_config.resource_name),
resource_path(resource),
:method => :delete, :confirm => I18n.t('active_admin.delete_confirmation'),
:class => 'Anjan_styles_its_own_destroy_button_class')
end
end
end
end
end
end
これで、スタイルを自由に変更できます。または、destroy リンク全体をコメントアウトすることもできます。インデックス画面には、リソースの削除リンクがまだあります。サーバーを再起動することを忘れないでください。
ソースを読んで頑張ってください!