ユーザー管理Gem == devise
職場でキーボード叩いてると、なんでマークダウン出来へんねん!ってなる今日この頃。
関西人でもないのに。
なんか、テキストの感じからして、あんまり記憶しなくても良いフェーズにきてる?
新しいメソッドとか
CRUD:アップデート 更新 index post show new create edit update delete
詳細表示 index post show new create edit update delete
before_action
= アクションの前に(そのまんま)
before_action :(実行したいメソッド), only : [:edit, :show]
(あらかじめ変数を宣言したい時とか。)
devise == ユーザ管理機能を追加するGem(ライブラリ)
- gemfileに
gem 'devise'
って書く
bundle install
rails g devise:install
設定関連ファイルをinstall。
(deviseのコマンドの順番、なんか独特)Userモデルの追加。
- いつもなら
rails g model user
でもdeviseの時はrails g devise user
(<- やっぱ独特)
└ユーザー関係のモデルとマイグレーションファイルが生成。
└ルーティングもdevise_for :users
だけで全部いける。
- deviseはGem内のファイルも読みに行く設定。(Gem内に1式揃ってる)
でも、Gem内のファイルは書き込めない。
->rails g devise:views
でGem外にファイルを生成してから書き込む。
ex. app/views/devise/registrations/new.html.erb
- deviseの時のpermitの書き方
params.require(:hoge).permit(:key)
=devise_parameter_sanitizer(:sign_up, keys: [:key])
deviseの時はsanitizer(殺菌剤)
- gemfileに
application_controller.rb
- application〜 は、全体に適用される仕様。
-> cf. application.html.erb, application.css
- app
└controllers
└application_controller.rb
- deviseのcontrollerは(というかGem内のものはどれも)書き込めないため、そんな時に代わりに書き込む。
- 後ろに
if: :devise_controller?
をつける。
=> application_controllerに書き込みながらも、処理はdeviseコントローラーに対してのみ。
- application〜 は、全体に適用される仕様。
rails g migration Addカラム名To追加先テーブル名 追加するカラム名:型
- 既存のテーブルに修正を加えるときは、
rails g migration
- 上記コマンドなら、追加カラム情報が書き込まれた状態で生成 -> migrateするだけ。
└追加カラムは複数でも可。
rails g migration AddNandemoiiToUsers hoge1:string hoge2:string
- アッパーキャメル。
- 既存のテーブルに修正を加えるときは、
単語の区切り
max length == text.fieldにつけるオプション。文字数制限。
f.text_field :hogehoge, maxlength: "6"
user_signed_in?
:質問。true or false。devise特有のメソッド。
if 〜 else 〜 end
みたいに使う。
ついでに英単語の勉強も
- devise:2つに分ける -> 考え出す、考案する、工夫する
- device:2つに分けた -> 装置、工夫、計画
- devide:2つに分ける -> 分ける、分かれる
- individual:in(否定) -> 分けられない・不可分なもの->個人、個別
- encrypted:en(中に)crypt(隠れた) -> 暗号化された。《同義語》encode
- encrypted_passwordカラム:文字通り、DBで見ると暗号化された情報しか見えない。
- crypt:隠れた -> 穴蔵
- decrypt:de(外す) -> 解読する
- register:re(後ろに)gestus(持っていく)-> 後ろで保管 -> 登録簿、登録する
- registrations:登録
- suggest:sub(下から上に)gero(持っていく) -> 提案する
- session:sed(座る)がコア -> 集まり、会合、集会、議会
- assesment:ad-(近くに)座る -> 評価
- assesment:ad-(近くに)座る -> 評価
- sanitize:sane(健康) -> 清潔にする
- sane:正気
- insane:in(否定) -> 正気でない
- sanitizer:消毒剤
- configure:con(一緒)figure(形) -> 設定する
- figure:fig(形) -> フィギュア、形、数字、人の姿。
- figment:想像して形作られたもの -> 虚構