はじめに
今回は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とは、データをプルダウン形式で表示することができるメソッドです!
コメント