Ruby on Rails  ActiveHashについて

はじめに

今回はRuby on Railsにダウンロードして使うことのできるActiveHashについてアウトプットしていこうと思います!

ActiveHashについて

Active_Hashとは、都道府県などの変更されないデータをモデルファイル内に直接記述しておくことで、データベースに保存せずにデータを取り扱うことができるGemのことです!

これを用いることで、モデルファイルに直接記述した変更されないデータに対して、ActivrRecordの様なもソッドを用いることができます!

では、次にそのモデルの生成する時に必要なコマンドについて紹介していこうと思います!

モデルの作成方法

まずは、

% rails g model article

というコマンドをうちArticleモデルを生成します!

次に

% rails g model genre --skip-migration

というコマンドを打ちます!

この時の–skip-migrationとは、マイグレーションファイルの生成を行わないために使うオプションのことです!

ActiveHash::Base

ActiveHash::Baseとは、あるモデル内でActiveHashを用いる際に必要となるクラスのことです!

これは、Active_HashのGemの中に定義されているものです!

また、ActiveHash::Baseを継承することで、ActiveRecordと同じ様なメソッドを使用することができる様になります!

アイソレーションの設定について

投稿した記事などを表示する時には、その記事に紐付いたジャンルで正確に取得できる様にArticleモデルとGenreモデルの間で、これを紐付ける様にアイソレーションを設定しておかなければなりません!

ActiveHashにおいてアイソレーションを設定しておく場合には、ActiveHashで定義されているmoduleをモデルに取り込む必要があります!

module

moduleとは、特定の役割を持つメソッドや定数に名前をつけてまとめたものになります!

moduleとしてまとめることで、コードが肥大化して読みにくくなる出あったり、処理が遅くなることを防ぐことができます!

また、メリットとして、クラスの特徴を継承させたいクラスを生成する時に利用します!

バリデーションの設定について

次にデータベースに何もデータのない空である投稿が保存されない様にバリデーションを設定する作業が必要になります!

これには、numericalityというバリデーションのヘルパーを使用する必要があります!

numericalityについて

numericalityとは、数値かどうかを検証するバリデーションの一種です!

数値であればデータベースに保存を許可して、それ以外では保存が許可されない様にすることができます!

実装について

collection_selectについて

collection_selectとは、データをプルダウン形式で表示することができるメソッドです!

星野涼太
ルアー釣りを本格的に初めて4年目です!世界各国の魚を釣ることを目標に釣りをしています!その時得られた情報をこのブログできょう共有しています!
ryota hoshinoをフォローする
未分類
スポンサーリンク
ryota hoshinoをフォローする
hoshino9796
ryota hoshinoをフォローする
駆け出しSEの釣り日記

コメント

タイトルとURLをコピーしました