ほげほげパッチ

有る事無い事 徒然なるままに

ユーザー管理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(ライブラリ)

    1. gemfileに gem 'devise'って書く

    2. bundle install

    3. rails g devise:install 設定関連ファイルをinstall。
      (deviseのコマンドの順番、なんか独特)

    4. Userモデルの追加。

    5. いつもならrails g model user
      でもdeviseの時は rails g devise user (<- やっぱ独特)
       └ユーザー関係のモデルとマイグレーションファイルが生成。
        └ルーティングも devise_for :users だけで全部いける。

    6. deviseはGem内のファイルも読みに行く設定。(Gem内に1式揃ってる)
      でも、Gem内のファイルは書き込めない
      -> rails g devise:views でGem外にファイルを生成してから書き込む。
      ex. app/views/devise/registrations/new.html.erb

    7. deviseの時のpermitの書き方
      params.require(:hoge).permit(:key)
       = devise_parameter_sanitizer(:sign_up, keys: [:key])
      deviseの時はsanitizer(殺菌剤)

  • application_controller.rb

    • application〜 は、全体に適用される仕様。
      -> cf. application.html.erb, application.css

    • app
       └controllers
        └application_controller.rb

    • deviseのcontrollerは(というかGem内のものはどれも)書き込めないため、そんな時に代わりに書き込む。

    • 後ろにif: :devise_controller? をつける。
      => application_controllerに書き込みながらも、処理はdeviseコントローラーに対してのみ。

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

    • 既存のテーブルに修正を加えるときは、rails g migration
    • 上記コマンドなら、追加カラム情報が書き込まれた状態で生成 -> migrateするだけ。
      └追加カラムは複数でも可。
      rails g migration AddNandemoiiToUsers hoge1:string hoge2:string
    • アッパーキャメル。

  • 単語の区切り

    • アッパーキャメルケース(ラクダ?コブ?):大文字で区切る。 HogeHogeFuga
    • スネークケース(へび?這ってる感じ?):アンダースコアで区切る hoge_hoge_fuga
    • クラスはキャメル。メソッドと変数は蛇。(なるほど、そう言われたら確かに。)

  • 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-(近くに)座る -> 評価

  • sanitize:sane(健康) -> 清潔にする
    • sane:正気
    • insane:in(否定) -> 正気でない
    • sanitizer:消毒剤

  • configure:con(一緒)figure(形) -> 設定する
    • figure:fig(形) -> フィギュア、形、数字、人の姿。
    • figment:想像して形作られたもの -> 虚構