Ruby
Rails
Gem

【rails】初心者でも使えるGem8選

More than 1 year has passed since last update.

どうも、ちーず(@cheez921)です。

最近はデザインやフロントからちょっとだけ離れてみてRuby on Railsを主に勉強しています。

本音はswiftでiosアプリを早く作ってみたいんですけど、なんか最近めっちゃrailsに縁があるんですよ、なぜか。

今回は、railsを勉強していくなかでgemの豊富さにとっても感動したので、初心者でも使えるGem8選ということで記事をかかせていただきます!


Gemとは? インストールの方法など簡単に。

gemとは、Rubyで書かれたプログラムをパッケージ化したものです。

また、gemを組み合わせて使うには、Bundlerを使うと良いです。

Bundlerはgem同士の互換性を保ちながら各gemの導入、管理を行ってくれるgemです。

今回はBundlerを用いてgemをインストールしていきます。


Gemfile生成

bundle init


Gemfileを編集

# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem 'rails', '~> 5.1.4'
gem "devise"
gem "kaminari"


こんな感じに

gem ライブラリ名 [, バージョン, オプション]

って書いて行きます。

バージョンやオプションの書き方はこちらから。

http://railsdoc.com/references/gemfile


gem をインストール

bundlerで普通にインストールすると、自分のPCの環境を汚しちゃうので、パスを指定するとよいです。

bundle install --path vendor/bundle

これでvendor/bundleディレクトリ内にgemがインストールされます。

(このあとrailsコマンドを使うときbundle execを先頭につけなきゃいけなくてめんどくさいのでaliasをきっておくとよいでしょう。)

これで準備はokです。

ここからgemを8つ紹介していきます。


1. devise

Github: https://github.com/plataformatec/devise

deviseは、ログイン認証機能の全般を担ってくれるgemです。

会員登録からログイン、パスワード変更など必要なページの管理等が簡単に行うことができます。

ログイン認証が必要なサービスを作るときにはdevise使ってログイン認証周りの開発コストをかけずに済ますことができます。

使い方等はこの記事がわかりやすかったので、参考に。

https://qiita.com/cigalecigales/items/73d7bd7ec59a001ccd74


2. kaminari

Github: https://github.com/kaminari/kaminari

めちゃくちゃ簡単にページネーションができるgemです。

railsのgemの中では大定番みたい。

少し古い記事ですが、ここらへんが圧倒的にわかりやすいので、参考に。

https://qiita.com/nysalor/items/77b9d6bc5baa41ea01f3

http://ruby-rails.hatenadiary.com/entry/20141113/1415874683


3. ransack

Github: https://github.com/activerecord-hackery/ransack

Railsアプリで検索機能を実装するときに役に立つgem。

複雑な検索機能も実装することが可能です。

英語ですが、rails5で書かれておりわかりやすい。

https://richonrails.com/articles/basic-search-using-ransack

あと古い記事ですが、このgemを使う流れがすごくわかりやすかったので。

https://qiita.com/LuckOfWise/items/e020e896e71d47d0c6a4


4. cancancan

Github: https://github.com/CanCanCommunity/cancancan

ユーザーの権限管理をしたいときに使えるgemです。

1番上のdeviseとうまく使って、ユーザー認証/管理ができるとちょっとリッチなアプリができますね。

自分も、とあるインターンで社員情報管理アプリを作成する時にお世話になりました!

特にこの記事にお世話になったので、共有します。

https://qiita.com/iamdaisuke/items/79d60b3c23e465ae6460


5. sprockets-commoner

Github: https://github.com/Shopify/sprockets-commoner

railsでES6が書ける環境を簡単に作れるgemです。

コスト小さく、なるべく環境を壊さずES6の環境を導入できることが特徴だそうです。

以下、参考記事です。

https://qiita.com/itkrt2y/items/18ea41828e1c22fc31e3


6. webpacker

Github: https://github.com/rails/webpacker

railsのアプリにwebpackが導入できるgemです。

sprockets-commonerと大きく何がちがうんだ...?って思ったら、すごくwebpackerについてわかりやすい記事をみつけました!

https://qiita.com/itkrt2y/items/69c31e695b1b39915d00


7. hirb

Github: https://github.com/cldwalker/hirb

rails consoleでモデル出力時に整形してくれるgemです。

DBのテーブルが画期的にみやすくなるからrails始めた頃に調べて使ってたけど、

sqliteだったらDB Browser for SQLite

MySQLだったらSequel Proを使います。笑


8. acts-as-taggable-on

Github: https://github.com/mbleigh/acts-as-taggable-on

データのタグ管理が簡単にできるgemです。

下記記事を読めば簡単に使えました!

https://qiita.com/ShunjiKato/items/404dac7360ae22ae1ca2


さいごに

私はgemを導入するときにまずGithubのstarを確認し、なるべくstarの多いgemを選ぶようにしています。

あと、Latest commitも大事です。あまりcommitされてなかったらrails5に対応しているかしっかり調べてから導入することをおすすめします。

今回は8つのgemを紹介させていただきましたが、もっともっと使えるgemがたくさんあると思います。

なにかオススメなgemがありましたら、コメントを残してくださるとrails初心者としてはかなり嬉しいです。

これからも、もっとgemを開拓して快適なrailsライフを送っていこうとおもいます!!