0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ActiveHash

Last updated at Posted at 2024-06-18

ActiveHashとは

カテゴリー名などの、変更される予定の無いデータをモデルファイルに記入することで、データベースに保存することなくActiveRecordのようなメソッドを使用することができるようにするGemのことです。

なぜActiveHashを使用するのか

ActiveHashを使用する理由は、データベースへのクエリと比較すると負荷が小さく、アプリケーションのパフォーマンスへの影響が少ないと考えられるからです。

ActiveHashを使用した場合データはメモリ上に保存され、データベースに保存するよりも、高速でデータの取得を行うことができます。

インストール方法

Gemfileの最下部に以下の内容を追加します。

Gemfile
gem 'active_hash'

ターミナルで実行します。

bundle install

使用方法

ActiveHashを使用するために、まずはモデルを作成します。(今回はCategoryモデル)

rails g model category

ActiveHash::Baseを継承します。

app/models/category.rb
class Category < ActiveHash::Base

ActiveHash::Baseは、あるモデル内でActiveHashを使用する際に必要なクラスです。

ActiveHash::Baseを継承することで、ActiveRecordと同様なメソッドを使用することができるようになったので、データの内容を入力します。

app/models/category.rb
class Category < ActiveHash::Base
  self.data = [
    { id: 1, name: 'トップス' },
    { id: 2, name: 'ボトムス' },
    { id: 3, name: 'アウター' },
  ]
  end

これで、データベースに保存することなく、データを取り出すことができるようになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?