Help us understand the problem. What is going on with this article?

【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ライフを送っていこうとおもいます!!

cheez921
フロントエンドエンジニアになりたい新卒2年生
a-hikkoshi
当社は、親会社である株式会社エイチームの経営理念をそのままに、引越しの比較サービス開始以降、大切にしてきた「三方よし」の理念を基本として、世の中に求められるサービスの創造を目指します。
https://hikkoshi.a-tm.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした