[RUBY] [Rails] Implementierung der CSV-Exportfunktion

Ziel

ezgif.com-video-to-gif.gif

Entwicklungsumgebung

・ Ruby: 2.5.7 Schienen: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ Betriebssystem: macOS Catalina

Annahme

Folgendes wurde implementiert.

Schlanke EinführungEinführung von Bootstrap 3Implementierung der Posting-Funktion

Implementierung

1. Bearbeiten Sie application.rb

application.rb


require_relative 'boot'

require 'rails/all'
require 'csv' #Nachtrag

Bundler.require(*Rails.groups)

module Bookers2Debug
  class Application < Rails::Application
    config.load_defaults 5.2
  end
end

2. Bearbeiten Sie den Controller

books_controller.rb


def index
  @book = Book.new
  @books = Book.all
  #Nachtrag
  respond_to do |format|
    format.html
    format.csv do |csv|
      send_users_csv(@books)
    end
  end
end

#Nachtrag
def send_users_csv(books)
  csv_data = CSV.generate do |csv|
    header = %w(ID Registrierungsdatum Gepostet nach Titel)
    csv << header
    books.each do |book|
      values = [book.id, book.created_at, book.user.name, book.title]
      csv << values
    end
  end
  send_data(csv_data, filename: 'Buchlisteninformationen')
end

(1) Legen Sie den Header der CSV-Datei fest.

header = %w(ID Registrierungsdatum Gepostet nach Titel)
csv << header

(2) Legen Sie den Inhalt der CSV-Datei fest.

books.each do |book|
  values = [book.id, book.created_at, book.user.name, book.title]
  csv << values
end

③ Legen Sie den CSV-Dateinamen fest.

filename: 'Buchlisteninformationen'

3. Bearbeiten Sie die Ansicht.

slim:books/index.html.slim


/Nachtrag
= link_to 'CSV-Export', books_path(format: :csv), class: 'btn btn-success'

Recommended Posts

[Rails] Implementierung der CSV-Exportfunktion
[Rails] Implementierung der Kategoriefunktion
[Rails] Implementierung der Tutorial-Funktion
[Rails] Implementierung einer ähnlichen Funktion
[Rails] Asynchrone Implementierung der Like-Funktion
[Rails] Implementierung der Bildvorschau
[Rails] Über die Implementierung der Like-Funktion
Rails [Für Anfänger] Implementierung der Kommentarfunktion
[Ruby on Rails] Implementierung einer ähnlichen Funktion
Implementierung der Suchfunktion
Implementierung der Pagenationsfunktion
[Rails] Implementierung der Suchfunktion mit Gem's Ransack
Implementierung der Ruby on Rails-Anmeldefunktion (Sitzung)
[Rails] Implementierung der Bildvergrößerungsfunktion mit Lightbox2
Implementierung der Ajax-Entfernung in Rails
Implementierung der Fuzzy-Suchfunktion für Schienen
Implementierung der sequentiellen Suchfunktion
Implementierung einer ähnlichen Funktion (Ajax)
Implementierung der Bildvorschau
Implementierung der Kategorie-Pulldown-Funktion
[Rails] Implementierung der Drag & Drop-Funktion (mit Wirkung)
Implementierung der Ruby on Rails-Anmeldefunktion (Devise Edition)
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Vorbereitung"
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der "Seed Edition" der Vorfahren
[Rails] Implementierung des logischen Löschens durch den Benutzer
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Erstellungsformular"
[Ruby on Rails] CSV-Ausgabefunktion
Implementierung der Rails-Sortierfunktion (angezeigt in der Reihenfolge der Anzahl der Gleichen)
[Rails] Implementierung von Viele-zu-Viele-Kategoriefunktionen
Implementierung der Funktionsfunktion [Rails] gem ancestry category
[Ruby on Rails] Implementierung der Kommentarfunktion
Implementieren Sie die CSV-Download-Funktion in Rails
[Rails] Memo zur Implementierung der Kommentarfunktion
Implementierung einer ähnlichen Funktion in Java
[Rails] Implementierung der Couponfunktion (mit automatischer Löschfunktion mittels Stapelverarbeitung)
[Rails] Implementierung der Tag-Funktion mit Acts-as-Taggable-On und der Funktion zur Vervollständigung der Tag-Eingabe mit Tag-It
[Rails] Hinzufügen der Ruby On Rails-Kommentarfunktion
Implementierung der Benutzerauthentifizierungsfunktion mit devise (2)
Schienen Hinzufügen einer einfachen Anmeldefunktion
[Ruby on Rails] Folgen Sie der Funktionsimplementierung: Bidirektional
Implementierung der Benutzerauthentifizierungsfunktion mit devise (1)
Rails Grundgerüst für die Implementierung der CRUD-Funktion
Implementierung der Benutzerauthentifizierungsfunktion mit devise (3)
[Rails] Implementierung einer Validierung, die die Eindeutigkeit beibehält
Schienen CSV Basic