Ich habe versucht, active_hash beim Erstellen einer Frima-App an einer bestimmten Programmierschule zu verwenden. Schauen Sie also bitte mal rein! !! Dieser Artikel wurde von einem Anfänger geschrieben, aber ich hoffe, Sie finden ihn hilfreich: pray_tone2:
-Es ist nicht so wichtig wie das Speichern als Daten in der Datenbank. ・ Grundsätzlich wird es nicht geändert. -Es kann einen Hash verarbeiten, der schreibgeschützte Informationen wie Active_Record sammelt.
Schreiben Sie Folgendes in das Gemfile der App
gem 'active_hash'
Führen Sie die Bundle-Installation im Terminal aus
$ bundle install
Erstellen Sie Ihr eigenes Modell, das ActiveHash :: Base erbt.
Dieses Mal werden wir ein Präfekturmodell erstellen, in dem active_hash häufig verwendet wird.
Ich mache es mir selbst wie app / models / prefecture.rb.
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
Da wir diesmal eine Frima-App erstellen, werden die Präfekturen bei der Registrierung der Lieferadresse des Produkts mit active_hash angezeigt. Wir werden eine Verbindung in product.rb herstellen.
product.rb
class Product < ApplicationRecord
extend ActiveHash::Associations::ActiveRecordExtensions
belongs_to_active_hash :prefecture
end
Wenn Sie collection_select im Formular zum Registrieren von Produkten verwenden, kann dies wie folgt angezeigt werden.
= f.collection_select :prefecture_id, Prefecture.all, :id, :name, {prompt:"Bitte auswählen"}, {class:""}
= @product.prefecture.name
Sie können active_hash so verwenden! !!
Danke, dass du bis zum Ende zugesehen hast: pray_tone2:
Ich hoffe, Sie finden es hilfreich: thumbsup_tone2:
Recommended Posts