- 更新日: 2017年02月27日
- 公開日: 2016年02月17日
作って学ぶRuby on Rails Vol.31 gemをみてみよう!
便利なgem
本稿では、開発を行う上で便利なgemをご紹介します。
アイコンを表示する
下の画像のように、ボタンや表示内容の意味をより分かりやすくするためにアイコンを表示したいというケースがあるかと思います。
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編集部