[RUBY] Ich habe versucht, Active Hash zu erklären

ActiveHash Durch die direkte Beschreibung der unveränderten Daten wie der Berufsauswahl in der Modelldatei können die Daten verarbeitet werden, ohne sie in der Datenbank zu speichern. Mit anderen Worten, mithilfe von Active_Hash kann die ActiveRecord-Methode für die unveränderten Daten verwendet werden, die direkt in der Modelldatei beschrieben werden.

Einführungsmethode

Gemfile

qiita.rb


gem 'active_hash'

Führen Sie nach dem Schreiben die Bundle-Installation aus.

Dinge, die Sie beim Erstellen eines Modells beachten sollten

Verwenden Sie abschließend --skip-migration. Der Grund ist, keine Datenbank zu erstellen. Das heißt, die Migrationsdatei wird nicht mehr benötigt. Beachten Sie, dass bei gleichzeitiger Verwendung des Befehls Rails g Model gleichzeitig eine Migrationsdatei erstellt wird.

%Schienen g Modell Modellname--skip-migration

ActiveHash::Base Sie können dieselbe Methode wie ActiveRecord verwenden. Mit anderen Worten, durch Erben von ActiveHash :: Base können ActiveRecord-Methoden für die im Modell definierten Objekte verwendet werden.

qiita.rb


class ShippingFee < ActiveHash::Base
  self.data = [
    { id: 0, name: '---' },
    { id: 1, name: 'Zahlung(Käuferlast)' }, { id: 2, name: 'Porto enthalten(Ausstellerbelastung)' }
  ]
end

Ein Bild zum Erstellen einer Tabelle mit self.data. Die Daten werden in einem Array im Hash-Format gespeichert.

belongs_to_active_hash Normalerweise lautet der Name zu_Modell: Modell. Wenn Sie jedoch eine Zuordnung für ein mit ActiveHash erstelltes Modell festlegen möchten, verwenden Sie die Methode "Gehört zu_aktiv_Hash".

collection_select Eine Methode, mit der Daten im Pulldown-Format angezeigt werden können

Beschreibung Reihenfolge Einzelheiten Konkretes Beispiel
Erstes Argument Methodenname Spaltenname
Zweites Argument Objekt Angabe der Array-Daten
Drittes Argument id Name der Referenz-DB-Spalte
Viertes Argument name Tatsächlicher Spaltenname
Fünftes Argument prompt Was Sie oben im Pulldown anzeigen möchten
Möglichkeit Name der Klasse --

qiita.rb


<%= f.collection_select(:shipping_fee_id, Shipping_fee.all, :id, :name, {}, {class:"select-box", id:"item-shipping-fee-status"}) %>

Implementierungsbeispiel

Ich habe einige typische aufgelistet · Präfekturen ・ Berufswahl ・ Geschlossene Frage (wie Ja oder Nein beantworten) ·Fragebogen · Kategorie ・ Produktstatus

Persönlich hatte ich das Gefühl, dass dies den Stress auf der Benutzerseite erheblich reduzieren und es möglich sein würde, Informationen effizient zu sammeln. Es kann gut sein, es zu verwenden, wenn Sie die andere Partei nach ihrer Meinung fragen möchten.

Schließlich

Vielen Dank, dass Sie den Artikel bisher gelesen haben.

ActiveHash ist auch in Dinge integriert, die Sie gelegentlich verwenden. Es ist einfach zu implementieren, deshalb wollte ich es positiv nutzen.

Ich möchte weiterhin nützliche Informationen liefern, während ich weiter studiere, und freue mich darauf, mit Ihnen zusammenzuarbeiten.

Vielen Dank, dass Sie den Artikel bisher gelesen haben!

Recommended Posts

Ich habe versucht, Active Hash zu erklären
Ich habe versucht, die Methode zu erklären
Ich habe versucht, C # (Indexer) zu kauen.
Ich habe versucht, die Unterstützung für iOS 14 zusammenzufassen
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, das Java-Lernen zusammenzufassen (1)
Ich habe versucht, die verwendeten Methoden zusammenzufassen
Ich habe versucht, Processing auf VS Code zu migrieren
Ich habe versucht, Java-Lambda-Ausdrücke zusammenzufassen
Ich habe versucht, mit Web Assembly zu beginnen
Ich habe versucht, AOJs binäre Suche zu lösen
Ich habe versucht, das Iterator-Muster zu implementieren
Ich habe versucht, die Stream-API zusammenzufassen
Ich habe versucht, AdoptOpenjdk 11 unter CentOS 7 zu erstellen
Was ist Docker? Ich habe versucht zusammenzufassen
Ich habe versucht, Selen wie JQuery zu verwenden
Ich habe versucht, JavaScript Part.2 Objektorientiert zu berühren
Ich habe es mit Spring versucht.
Ich habe versucht, Tomcat zu setzen
Ich habe youtubeDataApi ausprobiert.
Ich habe versucht, ① umzugestalten
Ich habe FizzBuzz ausprobiert.
Ich habe JHipster 5.1 ausprobiert
Ich habe versucht, über JVM / Garbage Collection zusammenzufassen
Ich habe versucht, AdoptOpenJDK 11 (11.0.2) mit dem Docker-Image zu überprüfen
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Ich habe versucht, polymorph in Nogizaka zu implementieren.
[Rails] Ich habe versucht, die Version von Rails von 5.0 auf 5.2 zu erhöhen
Ich habe versucht, Anmeldeinformationen mit JMX zu verwalten
Ich habe versucht, die Sitzung in Rails zu organisieren
Java Ich habe versucht, einen einfachen Block zu brechen
Ich habe versucht, grafana und postgres [docker-compose] zu verknüpfen
Ich habe versucht, ein Personalmanagement-Tool zu entwickeln
Ich habe versucht, eine Website für das Studium von DUO3.0 zu entwickeln.
C # (Grund der Kapselung)
Ich habe versucht, eine LINE-Klon-App zu erstellen
Ich habe versucht, AdoptOpenJDK 8 zu erstellen (zusätzlich: Amazon Corretto 8)
Ich habe versucht, neunundneunzig in Java auszugeben
Ich habe versucht, JavaFX und Spring Framework zu verknüpfen.
Ich habe versucht, Tomcat so einzustellen, dass das Servlet ausgeführt wird.
Ich habe versucht, eine Anwendung in 2 Sprachen zu entwickeln
Ich habe versucht, eine Website zu entwickeln, um Ausgaben zu erfassen.
Ich habe versucht, einen Server mit Netty zu implementieren
Ich habe versucht, den Block mit Java zu brechen (1)
Ich habe versucht, was ich mit Stream leise versuchen wollte.
[Ich habe es versucht] Spring Tutorial
Ich habe versucht, das Hochladen von Dateien mit Spring MVC zu implementieren
Ich habe versucht, CSV mit Outsystems zu lesen und auszugeben
Ich habe versucht, TCP / IP + BIO mit JAVA zu implementieren
Ich habe versucht, die Firebase-Push-Benachrichtigung in Java zu implementieren
Ich habe versucht, Autoware auszuführen
Ich habe versucht, eine Ramen-Shop-Sharing-Website zu entwickeln.
Ich habe versucht, Gson zu benutzen