どうも、ちーず(@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ライフを送っていこうとおもいます!!