1

ActiveAdmin 0.4.4 で Rails 3.2.8 を使用しています。

:destroyアクションが ActiveAdmin リソース コントローラで有効になっている場合、デフォルトでは、リソースページDelete <resource>の右上にボタンが表示されます。show

この削除ボタンは少し目立ちすぎて、私の好みでは簡単にクリックできてしまいます。ボタンをクリックすると確認ダイアログが表示されることは認めますが、それでもボタンを再配置して別の場所に配置したいと考えています。ボタンとしてスタイルを設定するのではなく、小さなリンクにすることも考えられます。

どうすればこれを行うことができますか?

4

1 に答える 1

1

削除アクション アイテムは、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 リンク全体をコメントアウトすることもできます。インデックス画面には、リソースの削除リンクがまだあります。サーバーを再起動することを忘れないでください。

ソースを読んで頑張ってください!

于 2012-10-11T15:13:19.033 に答える