J'ai essayé d'utiliser active_hash lors de la création d'une application frima dans une certaine école de programmation, alors jetez un œil! !! Cet article a été écrit par un débutant, mais j'espère que vous le trouverez utile: prier_tone2:
-Il n'est pas aussi important que de l'enregistrer sous forme de données dans la base de données. ・ Fondamentalement, cela n'est pas changé. -Il peut gérer un hachage qui collecte des informations en lecture seule comme Active_Record.
Écrivez ce qui suit dans le Gemfile de l'application
gem 'active_hash'
Exécutez l'installation du bundle dans le terminal
$ bundle install
Créez votre propre modèle qui hérite d'ActiveHash :: Base.
Cette fois, nous allons créer un modèle de préfecture dans lequel active_hash est souvent utilisé.
Je le fais moi-même comme app / models / prefecture.rb.
prefecture.rb
class Prefecture < ActiveHash::Base
self.data = [
{id: 1, name: 'Hokkaido'}, {id: 2, name: 'Préfecture d'Aomori'}, {id: 3, name: 'Préfecture d'Iwate'},
{id: 4, name: 'Préfecture de Miyagi'}, {id: 5, name: 'Akita'}, {id: 6, name: 'Préfecture de Yamagata'},
{id: 7, name: 'Préfecture de Fukushima'}, {id: 8, name: 'Préfecture d'Ibaraki'}, {id: 9, name: 'Préfecture de Tochigi'},
{id: 10, name: 'Préfecture de Gunma'}, {id: 11, name: 'Saitama'}, {id: 12, name: 'Préfecture de Chiba'},
{id: 13, name: 'Tokyo'}, {id: 14, name: 'Préfecture de Kanagawa'}, {id: 15, name: 'Préfecture de Niigata'},
{id: 16, name: 'Préfecture de Toyama'}, {id: 17, name: 'Préfecture d'Ishikawa'}, {id: 18, name: 'Préfecture de Fukui'},
{id: 19, name: 'Préfecture de Yamanashi'}, {id: 20, name: 'Préfecture de Nagano'}, {id: 21, name: 'Préfecture de Gifu'},
{id: 22, name: 'Préfecture de Shizuoka'}, {id: 23, name: 'Préfecture d'Aichi'}, {id: 24, name: 'Préfecture de Mie'},
{id: 25, name: 'Préfecture de Shiga'}, {id: 26, name: 'Kyoto'}, {id: 27, name: 'Préfecture d'Osaka'},
{id: 28, name: 'Préfecture de Hyogo'}, {id: 29, name: 'Préfecture de Nara'}, {id: 30, name: 'Préfecture de Wakayama'},
{id: 31, name: 'Préfecture de Tottori'}, {id: 32, name: 'Préfecture de Shimane'}, {id: 33, name: 'Préfecture d'Okayama'},
{id: 34, name: 'Préfecture d'Hiroshima'}, {id: 35, name: 'Préfecture de Yamaguchi'}, {id: 36, name: 'Préfecture de Tokushima'},
{id: 37, name: 'Préfecture de Kagawa'}, {id: 38, name: 'Préfecture d'Ehime'}, {id: 39, name: 'Préfecture de Kochi'},
{id: 40, name: 'Préfecture de Fukuoka'}, {id: 41, name: 'Préfecture de Saga'}, {id: 42, name: 'Préfecture de Nagasaki'},
{id: 43, name: 'Préfecture de Kumamoto'}, {id: 44, name: 'Préfecture d'Oita'}, {id: 45, name: 'Préfecture de Miyazaki'},
{id: 46, name: 'Préfecture de Kagoshima'}, {id: 47, name: 'Préfecture d'Okinawa'}
]
end
Puisque nous créons une application frima cette fois, nous afficherons les préfectures en utilisant active_hash lors de l'enregistrement de l'adresse de livraison du produit. Nous allons créer une association dans product.rb.
product.rb
class Product < ApplicationRecord
extend ActiveHash::Associations::ActiveRecordExtensions
belongs_to_active_hash :prefecture
end
Lorsque vous utilisez collection_select dans le formulaire d'enregistrement des produits, il peut être affiché comme suit.
= f.collection_select :prefecture_id, Prefecture.all, :id, :name, {prompt:"Veuillez sélectionner"}, {class:""}
= @product.prefecture.name
Vous pouvez utiliser active_hash comme ça! !!
Merci d'avoir regardé jusqu'à la fin: prier_tone2:
J'espère que vous le trouverez utile: thumbsup_tone2:
Recommended Posts