[RUBY] Lassen Sie uns ein Pseudomodell mit active_hash ~ Präfekturdaten ~ erstellen

Erstellen einer bestimmten Mercari-Kopierseite active_hash

Sie können ein Pseudomodell erstellen und Daten speichern, ohne eine Datenbank zu erstellen

Also werde ich versuchen, einen Edelstein namens active_hash zu verwenden

Fügen Sie zuerst active_hash zu Gemfile hinzu


gem 'active_hash'

Bundle installieren

Model Ich mache eine Modelldatei mit Erstellen Sie diesmal nicht mit Schienen g Modell

Normalerweise erbe ich ApplicationRecord. Es scheint, dass Modelle, die active_hash verwenden, ActiveHash :: Base erben müssen.

Also werde ich es direkt in App / Models / erstellen

prefecture.rb


class Prefecture < ActiveHash::Base

end

Erben Sie ActiveHash :: Base wie folgt

Die Datenvorlage sieht folgendermaßen aus

prefecture.rb


class Prefecture < ActiveHash::Base

  self.data = [ ]

end

Ich werde die Daten in diese setzen

prefecture.rb


class Prefecture < ActiveHash::Base

  self.data = [
      {id: 1, name: 'Hokkaido'}, {id: 2, name: 'Präfektur Aomori'}, {id: 3, name: 'Präfektur Iwate'},
      {id: 4, name: 'Präfektur Miyagi'}, {id: 5, name: 'Akita'}, {id: 6, name: 'Präfektur Yamagata'},
      {id: 7, name: 'Präfektur Fukushima'}, {id: 8, name: 'Präfektur Ibaraki'}, {id: 9, name: 'Präfektur Tochigi'},
      {id: 10, name: 'Präfektur Gunma'}, {id: 11, name: 'Saitama'}, {id: 12, name: 'Präfektur Chiba'},
      {id: 13, name: 'Tokio'}, {id: 14, name: 'Präfektur Kanagawa'}, {id: 15, name: 'Präfektur Niigata'},
      {id: 16, name: 'Präfektur Toyama'}, {id: 17, name: 'Präfektur Ishikawa'}, {id: 18, name: 'Präfektur Fukui'},
      {id: 19, name: 'Präfektur Yamanashi'}, {id: 20, name: 'Präfektur Nagano'}, {id: 21, name: 'Präfektur Gifu'},
      {id: 22, name: 'Präfektur Shizuoka'}, {id: 23, name: 'Präfektur Aichi'}, {id: 24, name: 'Präfektur Mie'},
      {id: 25, name: 'Präfektur Shiga'}, {id: 26, name: 'Kyoto'}, {id: 27, name: 'Präfektur Osaka'},
      {id: 28, name: 'Präfektur Hyogo'}, {id: 29, name: 'Präfektur Nara'}, {id: 30, name: 'Präfektur Wakayama'},
      {id: 31, name: 'Präfektur Tottori'}, {id: 32, name: 'Präfektur Shimane'}, {id: 33, name: 'Präfektur Okayama'},
      {id: 34, name: 'Präfektur Hiroshima'}, {id: 35, name: 'Präfektur Yamaguchi'}, {id: 36, name: 'Präfektur Tokushima'},
      {id: 37, name: 'Präfektur Kagawa'}, {id: 38, name: 'Präfektur Ehime'}, {id: 39, name: 'Präfektur Kochi'},
      {id: 40, name: 'Präfektur Fukuoka'}, {id: 41, name: 'Präfektur Saga'}, {id: 42, name: 'Präfektur Nagasaki'},
      {id: 43, name: 'Präfektur Kumamoto'}, {id: 44, name: 'Präfektur Oita'}, {id: 45, name: 'Präfektur Miyazaki'},
      {id: 46, name: 'Präfektur Kagoshima'}, {id: 47, name: 'Präfektur Okinawa'}
  ]

end

Ich werde es so in Hash-Format setzen
Nächster Verein

product.rb


class product < ApplicationRecord

  extend ActiveHash::Associations::ActiveRecordExtensions
  belongs_to_active_hash :prefecture

end

Dieses Mal wird es mit der Produkttabelle verknüpft. Beschreiben Sie es daher in product.rb

Normalerweise gehört zu, aber im Fall von active_hash wird es zu_active_hash gehören

prefecture.rb


class Prefecture < ActiveHash::Base

  self.data = [
      {id: 1, name: 'Hokkaido'}, {id: 2, name: 'Präfektur Aomori'}, {id: 3, name: 'Präfektur Iwate'},
      {id: 4, name: 'Präfektur Miyagi'}, {id: 5, name: 'Akita'}, {id: 6, name: 'Präfektur Yamagata'},
      {id: 7, name: 'Präfektur Fukushima'}, {id: 8, name: 'Präfektur Ibaraki'}, {id: 9, name: 'Präfektur Tochigi'},
      {id: 10, name: 'Präfektur Gunma'}, {id: 11, name: 'Saitama'}, {id: 12, name: 'Präfektur Chiba'},
      {id: 13, name: 'Tokio'}, {id: 14, name: 'Präfektur Kanagawa'}, {id: 15, name: 'Präfektur Niigata'},
      {id: 16, name: 'Präfektur Toyama'}, {id: 17, name: 'Präfektur Ishikawa'}, {id: 18, name: 'Präfektur Fukui'},
      {id: 19, name: 'Präfektur Yamanashi'}, {id: 20, name: 'Präfektur Nagano'}, {id: 21, name: 'Präfektur Gifu'},
      {id: 22, name: 'Präfektur Shizuoka'}, {id: 23, name: 'Präfektur Aichi'}, {id: 24, name: 'Präfektur Mie'},
      {id: 25, name: 'Präfektur Shiga'}, {id: 26, name: 'Kyoto'}, {id: 27, name: 'Präfektur Osaka'},
      {id: 28, name: 'Präfektur Hyogo'}, {id: 29, name: 'Präfektur Nara'}, {id: 30, name: 'Präfektur Wakayama'},
      {id: 31, name: 'Präfektur Tottori'}, {id: 32, name: 'Präfektur Shimane'}, {id: 33, name: 'Präfektur Okayama'},
      {id: 34, name: 'Präfektur Hiroshima'}, {id: 35, name: 'Präfektur Yamaguchi'}, {id: 36, name: 'Präfektur Tokushima'},
      {id: 37, name: 'Präfektur Kagawa'}, {id: 38, name: 'Präfektur Ehime'}, {id: 39, name: 'Präfektur Kochi'},
      {id: 40, name: 'Präfektur Fukuoka'}, {id: 41, name: 'Präfektur Saga'}, {id: 42, name: 'Präfektur Nagasaki'},
      {id: 43, name: 'Präfektur Kumamoto'}, {id: 44, name: 'Präfektur Oita'}, {id: 45, name: 'Präfektur Miyazaki'},
      {id: 46, name: 'Präfektur Kagoshima'}, {id: 47, name: 'Präfektur Okinawa'}
  ]

  include ActiveHash::Associations
  has_many :users

end

Die Präfekturseite ist so

Alles was Sie tun müssen, ist es anzuzeigen! !!

Recommended Posts

Lassen Sie uns ein Pseudomodell mit active_hash ~ Präfekturdaten ~ erstellen
Machen wir eine Shopping-Site mit Streifen! (Kauf)
Machen Sie einen Diamanten mit Java
Machen wir eine Weihnachtskarte mit Verarbeitung!
[Java] Erstellen wir eine DB-Zugriffsbibliothek!
Lassen Sie uns Force-Graph des Eisenbahnnetzes aus dem öffentlichen Verkehr von Tokio Daten öffnen
Erstellen wir eine REST-API mit WildFly Swarm.
Lassen Sie uns eine Suchfunktion mit Rails (Ransack) machen
Lassen Sie uns einen Leistungsschalter für den Backend-Service mit Actuator of Spring Boot (Teil 1) herstellen.