[RUBY] Comment utiliser active_hash! !!

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:

Qu'est-ce que active_hash en premier lieu?

-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.

1. Installez gem'active_hash '

Écrivez ce qui suit dans le Gemfile de l'application

gem 'active_hash'

Exécutez l'installation du bundle dans le terminal

$ bundle install

2. Créez un modèle qui hérite de Active_Hash :: Base

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

3. Former une association

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

4. Affichage

Lorsque vous utilisez collection_select dans le formulaire d'enregistrement des produits, il peut être affiché comme suit.

Image from Gyazo


= f.collection_select :prefecture_id, Prefecture.all, :id, :name, {prompt:"Veuillez sélectionner"}, {class:""}

5. Lorsque vous souhaitez afficher les informations enregistrées

= @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

Comment utiliser active_hash! !!
Comment utiliser Map
Comment utiliser rbenv
Comment utiliser with_option
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser la carte
Comment utiliser collection_select
Comment utiliser Twitter4J
Comment utiliser MapStruct
Comment utiliser TreeSet
[Comment utiliser l'étiquette]
Comment utiliser l'identité
Comment utiliser le hachage
Comment utiliser Dozer.mapper
Comment utiliser Gradle
Comment utiliser org.immutables
Comment utiliser java.util.stream.Collector
Comment utiliser VisualVM
Comment utiliser Map
Comment utiliser l'API Chain
[Java] Comment utiliser Map
Comment utiliser Queue avec priorité
[Rails] Comment utiliser enum
Comment utiliser java Facultatif
Comment utiliser le retour Ruby
[Rails] Comment utiliser enum
Comment utiliser @Builder (Lombok)
Comment utiliser la classe Java
[Java] Comment utiliser removeAll ()
Comment utiliser String [] args
Comment utiliser la jonction de rails
Comment utiliser Java Map
Ruby: Comment utiliser les cookies
Comment utiliser Dependant :: Destroy
Comment utiliser Eclipse Debug_Shell
Comment utiliser Apache POI
[Rails] Comment utiliser la validation
Comment utiliser les variables Java
[Rails] Comment utiliser authenticate_user!
Comment utiliser GC Viewer
Comment utiliser Lombok maintenant
[Création] Comment utiliser JUnit
[Rails] Comment utiliser Scope
Comment utiliser la méthode link_to
[Rails] Comment utiliser la "devise" des gemmes
Comment utiliser Lombok au printemps
Comment utiliser StringBurrer et Arrays.toString.
Comment utiliser le tableau (mémorandum personnel)
Comment utiliser HttpClient de Java (Get)
Comment utiliser scope (JSP & Servlet)
Comment utiliser la méthode include?