【残43日】未経験からのプログラミング 「active hash」

f:id:ume1017:20200830222128j:plain

 

現在プログラミングスクールに通い

70日間でWEBエンジニアになれるよう

勉強中です!

 

本日は情報をDBを保存せずに、モデルに保存

する際に使用するactiv_hashについて書きたい

と思います。

 

◆activ_hashとは?

モデルをデータベースとして使用することが

出来るgemのことです。

 

アプリケーションを作成する上で

データの内容が変更されることがない時に

使用することが多いです。

 

例えば、都道府県などが最たる例です。

※新しい県が作られることはほとんどあり得な

いかと思います。

 

◆使い方

1)gemをインストール

下記のコードを入力します。

gem 'active_hash'

 

2)モデルにDBを作成

モデルに下記のように記載します。

class ZZ < ActiveHash::Base
self.data = [
{ id: 1, name: '--' },
{ id: 2, name: 'A' },
{ id: 3, name: 'B' },
{ id: 4, name: 'C' },
{ id: 5, name: 'D' },
{ id: 6, name: 'E' },
{ id: 7, name: 'F' },
{ id: 8, name: 'G' },
{ id: 9, name: 'H' },
{ id: 10, name: 'I' }
]
end

 

#ActiveHash::Base

ActiveRecordと同様のメソッドで

ActiveHash::Baseを継承することで、

モデルに定義したオブジェクトに対して

ActiveRecordのメソッドが使用できるようになります。

 

3)アソシエーションを設定

アソシエーションやバリテーション記述します。