箱のプログラミング日記。

渋谷の自社開発企業でRails書いてます。

deviseとかgemって何だろう

deviseとは?

deviseとは、railsによるアプリケーション開発を楽にしてくれるGemの一種。

 

Gemというのはrailsでの開発を楽にしてくれるソフトウェアたちのことを指す。

インストールすると使えて、オープンソース(=誰でも使える)。

 

railsを使う人たちが作ってくれたもので、

このGemはこんなことができるよ、こっちのGemはこれができるよ、

みたいな感じに、機能別にたくさんある。

 

 

それを使えば面倒な工程を省くことができますよ、もしくは簡単になりますよ、

みたいな「便利ツール」のようなもの。

 

 

それがRailsにおけるGemであり、

deviseはそのGemの一種、ということ。

 

railsアプリ開発を行う際よく書かれるメソッドや動作を、

インストールしたGemたちが代わりにやってくれたりします。

 

 

 

まず、railsにおける動作についてですが、基本的には

ルーティング→コントローラー→ビュー の順番で動きます。

普通はルーティングで任意のパスとコントローラー名、アクション名を指定するが、

deviseを使えばそれらのルーティングおよびビューまでを自動的に生成してくれる。

 

よって、上記のように

deviseを使った場合はコントローラーとアクションの定義の必要がなくなるので

コントローラーファイルは生成されない。(正確にはdeviseの中に組み込まれている)

ファイルがないので自分で編集ができない。

というか、編集の必要がない。

 

 

 

① devise をインストール

② $  rails g devise モデル名 をターミナルで入力すると、下記のことを自動でしてくれる

  ・モデルの生成

  ・ルーティングに devise_for : users を追記

 

devise_for : users

「こういう動作をしたい時にこのパスにしましょう。

このパスに対してはこのコントローラーとこのアクションを使いましょう。

それによって表示されるビューも作っておきます」

 

 

deviseはログイン機能に関するクラスやルーティングの生成をしてくれるので

投稿アプリなんかをつくる時に便利ですね。