学習の書き留め プログラミング勉強中

プログラミングで学んだことを日記として残して行こうと思います

今日の学習

今日学んだこと 2020/12/24

学習項目

ユーザー登録実装の手順とそれに伴うdeviseの大まかな使い方

学習内容

ユーザー登録実装の手順

  1. Gemをインストールしてサーバーを再起動
  2. コマンドを利用してdeviseの設定ファイルを作成
  3. コマンドを利用してUserモデルを作成
  4. 未ログイン時とログイン時でボタンの表示を変える実装
  5. コントローラーにリダイレクトを設定

まず、ユーザー登録機能(ログイン機能)にはdeviseというGemがよく使われている。
インストール方法としては、

  1. Gemfileを編集し gem 'devise'を記述する。
  2. ターミナルでbundle installコマンドを行い、インストール
  3. ローカルサーバーを起動していた場合は、再起動する(Gemの導入状況を変更したため)

Gemをインストールしたあと、deviseを使うために、devise専用のコマンドで設定ファイルを作成する。

# deviseの設定ファイルを作成
% rails g devise:install

設定ファイルの生成が完了後、本格的に作っていくことになる。
大まかに、

  1. モデル作成
  2. テーブル作成
  3. ビューの設定

の三つに分けられる。
モデルの作成は

# deviseコマンドでUserモデルを作成
% rails g devise user

で行い、自動でルーティングの追記、マイグレーションの生成がされるため、そのまま

% rails db:migrate

でテーブルを作成する。

ビューファイルはGemfileにそのまま記述されているが、味気ないらしいので、

% rails g devise:views

を行い、対応している
サインアップ画面: app/views/devise/registrations/new.html.erb
ログイン画面: app/views/devise/sessions/new.html.erb を編集し、味付けする。

登録に必要な情報を付け足したい場合は、必要に応じて、

% rails g migration Addカラム名To追加先テーブル名 追加するカラム名:型
% rails db:migrate

からカラムを追加する。
パラメーターに制限をかける場合、ストロングパラメーターは`applicationコントローラに定義する。(詳しい方法はまだ理解できていない)

ログインの有無で表示を変る方法は、deviseを導入していると使えるuser_signed_in?メソッドを使用を使用し、ログインしているかどうかを判定して表示を変える。

この状態のみだと、urlを入れてしまえば意味がなくなってしまうため、最後にリダイレクトを用いて、ログインしていないユーザーに制限をかける。

まとめ

deviceを使いこなすことができれば、ログイン機能を制することができる気がする

自己紹介とブログについて

ごあいさつ

みなさん、おはようございます、こんにちは、こんばんは。
みんてぃと申します。初めての記事ですので、簡単な自己紹介をさせていただければと思います。

自己紹介

今、プログラマーになるためにスクールで勉強中です。将来は、フリーランスとしてまったり働けるようにしていきたいと思ってます。
勉強中の言語は HTML/CSS Ruby Ruby on Rails です。
プログラマーの人はもちろん、いろんな方々と繋がりたいと思ってます。
特に駆け出しの方や、プロの方、フリーで活躍している方とか、ブログを書いている人とか、、、
趣味は、、、ダンスを少ししています。

ブログで書きたこと

このブログでは、勉強したことを日記のように記していきたいなと思っています。 今どこまで理解しているのかと、自分の実力を見つめて行けたらなと。 そして、自身の学んだことをブログを通して共有し、誰かの学習の助けになることができればと。。。 学習内容が間違っていた場合はご指摘いただけると幸いです。

まあ、基本日記になると思います。。。
拙い文章ですが、お付き合いいただければと。