Was ich letzte Nacht gemacht habe Weil die Einführung von aktivem Hash erfolgreich war Memorandum
ich meine Ich war ungeduldig, weil ich die Beschreibung der Migration von der Primärquelle nicht finden konnte ...
ruby 2.5 rails 5.2.4.3 devise 4.7.2 active_hash 3.1.0
zilkey/active_hash: collection_select
Ich möchte mehrere Orte mit einer App verwenden, z. B. Datenauswahl für Präfekturen, Aber erst wenn ich DB benutze. Hmm ... Ich empfehle es manchmal. Kann es in Kategorien verwendet werden? ?? ↑ Die Kategorie war ein Juwel namens Abstammung. https://github.com/stefankroes/ancestry
zu Edelstein
Gemfile
gem 'active_hash'
Das Übliche
bundle install
☓ Schienen g Modell Modellname ← Nr. Diesmal sind es Daten aus Präfekturen
models/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
Dieses Mal Adressmodell Assoziationsadresse viele ← → 1 Präfektur
models/address.rb
extend ActiveHash::Associations::ActiveRecordExtensions
belongs_to :prefecture
Bearbeiten Sie die entsprechende Migrationsdatei Diesmal
migrate/*****_create_addresses.rb
t.integer :prefecture_id, null: false, default: nil
null ~ ist deine Wahl ♪ Nach dem Umschreiben werden die üblichen Schienen db: migrate Schreibe auch starke Parameter um ^^ Vielleicht registrations_controller.rb Von: Nur der Präfekturteil. Ich habe es geschafft: prefecture_id.
registrations_controller.rb
protected
def address_params
params.require(:address).permit(:family_name_kanji,:first_name_kanji,:family_name_kana,:first_name_kana,:post_number,:prefecture_id,:city,:block_number,:apartment_name,:phone_number)
end
Der Unterricht war mühsam.
= f.collection_select :prefecture_id,Prefecture.all,:id,:name,{prompt:"--"},{class:"inputDefault"}
Das ist ↓.
<select class="inputDefault" name="address[prefecture_id]" id="address_prefecture_id"><option value="">--</option>
<option value="">--</option>
<option value="1">Hokkaido</option>
<option value="2">Präfektur Aomori</option>
<option value="3">Präfektur Iwate</option>
・ ・ ・ ・ ・ ・ ・
<option value="47">Präfektur Fukuoka</option></select>
= f.collection_select :Spaltenname,Zu registrierende Daten,Zu zeigende Daten,Erste Daten(ausgewählt ist auch hier),Diesmal Zeitklasse
Vielleicht ist es vorbei. Ich hatte keine Ahnung, die Migrationsspalte von t.string: Präfektur in die oben genannte Spalte zu ändern, daher habe ich mich bemüht, die Registrierungsdaten von collection_select in: name ^^; Ein paar Stunden TT in kürzester Zeit
Recommended Posts