今日の学習
今日学んだこと 2020/12/24
学習項目
ユーザー登録実装の手順とそれに伴うdeviseの大まかな使い方
学習内容
ユーザー登録実装の手順
- Gemをインストールしてサーバーを再起動
- コマンドを利用してdeviseの設定ファイルを作成
- コマンドを利用してUserモデルを作成
- 未ログイン時とログイン時でボタンの表示を変える実装
- コントローラーにリダイレクトを設定
まず、ユーザー登録機能(ログイン機能)にはdevise
というGemがよく使われている。
インストール方法としては、
- Gemfileを編集し
gem 'devise'
を記述する。 - ターミナルで
bundle install
コマンドを行い、インストール - ローカルサーバーを起動していた場合は、再起動する(Gemの導入状況を変更したため)
Gemをインストールしたあと、deviseを使うために、devise専用のコマンドで設定ファイルを作成する。
# deviseの設定ファイルを作成 % rails g devise:install
設定ファイルの生成が完了後、本格的に作っていくことになる。
大まかに、
- モデル作成
- テーブル作成
- ビューの設定
の三つに分けられる。
モデルの作成は
# 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 です。
プログラマーの人はもちろん、いろんな方々と繋がりたいと思ってます。
特に駆け出しの方や、プロの方、フリーで活躍している方とか、ブログを書いている人とか、、、
趣味は、、、ダンスを少ししています。
ブログで書きたこと
このブログでは、勉強したことを日記のように記していきたいなと思っています。 今どこまで理解しているのかと、自分の実力を見つめて行けたらなと。 そして、自身の学んだことをブログを通して共有し、誰かの学習の助けになることができればと。。。 学習内容が間違っていた場合はご指摘いただけると幸いです。
まあ、基本日記になると思います。。。
拙い文章ですが、お付き合いいただければと。