railsで複数のデータを一括削除(destory)するのはcheckboxで実装するのがいいと思う

結論

このような感じの実装になった

articles_controller.rb

  def destroy_many
    respond_to do |format|
      if params[:deletes].blank?
        format.html { redirect_to admin_articles_path }
        format.json { render :json, status: :unprocessable_entity } # 多分間違っている TODO
      end
      delete_list = params[:deletes].keys
      ActiveRecord::Base.transaction do
        if Article.destroy(delete_list)
          format.html { redirect_to admin_articles_path, notice: 'Article was successfully destroyed.' }
          format.json { head :no_content }
        end
      end
      rescue
    end
  end

routes.rb

delete :articles, to: 'articles#destroy_many'

index.html.erb

<%= form_with(url: admin_articles_path, method: :delete, local: true) do |form| %>
  <table class="table is-fullwidth is-hoverable">
    <thead>
      <tr>
        <th class="w5p"></th>
        <th class="w5p">ID</th>
        <th>記事タイトル</th>
        <th class="w20p" colspan="2"></th>
      </tr>
    </thead>

    <tbody>
      <% @articles.each do |article| %>
        <tr>
          <td><%= check_box_tag "deletes[#{ article.id }]", article.id %></td>
          <td>#<%= article.id %></td>
          <td>
            <%= link_to article.title, edit_admin_article_path(article) %>
          </td>
          <td>
            <%= link_to '詳細', admin_article_path(article), class: 'button' %>
            <%= link_to '削除', admin_article_path(article), method: :delete, data: { confirm: 'Are you sure?' }, class: 'button' %>
          </td>
        </tr>
      <% end %>
    </tbody>
  </table>

  <%= form.submit '一括削除', class: 'button' %>
<% end %>

参考

qiita.com