作って学ぶRuby on Rails Vol.31 gemをみてみよう!


作って学ぶRuby on Rails Vol.31 gemをみてみよう!
目次
  1. 便利なgem
  2. アイコンを表示する
  3. Modelファイルにテーブルに存在するカラム名を表示する
  4. == Schema Information

便利なgem

本稿では、開発を行う上で便利なgemをご紹介します。

アイコンを表示する

下の画像のように、ボタンや表示内容の意味をより分かりやすくするためにアイコンを表示したいというケースがあるかと思います。

Ruby_on_Rails_gem-1

font-awesome-rails

https://github.com/bokmann/font-awesome-rails

フォントとしてアイコンを使用できる大変便利なgemになります。

アイコンの名前は、下記の本家サイトで確認することができます。

https://fortawesome.github.io/Font-Awesome/icons/

Try*Tryfont-awesome-railsを利用しよう*font-awesome-railsというgemを利用して、アイコンを表示してみましょう。

Modelファイルにテーブルに存在するカラム名を表示する

マイグレーションファイルを複数作成していると、どのModelに何のカラムがあるのかが判りづらくなってしまいます。そこで、下記のgemを利用することで、Modelファイルにカラム名を追記することができます。

annotate

https://rubygems.org/gems/annotate/versions/2.7.0

このgemは、Gemfileに記述し、installを実行した後に下記のコマンドを実行することで内容が反映されます。


$ bundle exec annotate

実行後、Modelのファイルを確認すると下記のようになっています。


# == Schema Information
 #
 # Table name: users
 #
 # id :integer not null, primary key
 # name :string
 # gender :integer
 # birthday :date
 # hometown :string
 # remarks :text
 # created_at :datetime not null
 # updated_at :datetime not null
 # image_file_name :string
 # image_content_type :string
 # image_file_size :integer
 # image_updated_at :datetime
 #

 class User < ActiveRecord::Base
  enum gender: { unknown: 0, male: 1, female: 2, other: 9 }

  has_one :social_account

  # ユーザー名による絞り込み
  scope :get_by_name, ->(name) {
  where("name like ?", "%#{name}%")
  }
  # 性別による絞り込み
  scope :get_by_gender, ->(gender) {
  where(gender: gender)
  }
  # 画像の保存設定
  has_attached_file :image,
  styles: { medium: "300x300>", thumb: "200x200>" },
  path: "#{Rails.root}/public/system/:class/image/:id.:style.:extension",
  url: "/system/:class/image/:id.:style.:extension"

  validates_attachment_content_type :image, content_type: /image/

 end

上記コードの上部に、Modelに紐づくテーブルの名前やカラムなどの情報が表示されていることが分かります。

このように、RubyonRailsでは、ユーザーが利用する上では直接は見えないのですが開発の手助けになるようなgemが多数用意されています。

■ gemの探し方Google等で、「railsおすすめgem」と検索するだけでもかなり有益な情報が見つかると思いますが。中・上級者にはGithub上で検索することをお勧めします。

Try*Try**いろいろなgemを利用してみよう*まずはGoogle等で「railsおすすめgem」と検索しいろいろなgemを見つけてみましょう。良さそうなものがあれば、Gemfileに記述しinstallしてみましょう。

PREVLESSONModelのリレーションを設定しよう!Modelのリレーションを設定しよう!

目次-Ruby&RubyonRailsテキスト目次目次-Ruby&RubyonRailsテキスト目次


CodeCampus編集部
この記事を書いた人
CodeCampus編集部
まずは7日間お試し!人気プログラミング講座を無料公開中
オンライン・プログラミングレッスンNo.1のCodeCamp