devise_parameter_sanitizerの書き方

devise_parameter_sanitizerの書き方について調べたのでまとめておきます.

devise_parameter_sanitizer.permit( ?? , keys: [:カラム名])のように書き,第一引数には:sign_in, sign_up, :account_updateのいずれかが入る. カラム名には後からusersテーブルに追加したカラム名を入れる.

また,devise_parameter_sanitizer.permit( ?? , keys: [:カラム名])はbefor_actionで指定されることがある.その際に,if: :devise_controller?が付く事がある. これは,deviseを生成したときにできるヘルパーメソッドの1つで,deviseにまつわる画面に行ったときにという意味がある.

以下に書き方を示す.

  before_action :configure_permitted_parameters, if: :devise_controller?

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
  end
end

qiita.com

qiita.com

睡眠の質が改善された話

睡眠の質が改善されてきた話

先週,ライフコーチの方から疲れ溜まってない?と言われた.

 

確かにその日は体調は悪くないが,まぶたが重い感じだった.

ただ,こういうことはたまにあるのでスルーしていた.

 

疲れについてライフコーチの方と話していると,睡眠の質が悪いことに気づいた.

なんの習性かわからないが,僕はだいたい5時に一回目が覚めることが多い.

そこから,2時間ぐらい寝て起きるという生活をしていた.

 

5時に目が覚めるというのは理由がわからずコントロールしにくいが,その後の2時間睡眠はコントロールできるのではないかと考えた.

 

そこで,次の日から2度寝の時間を1~1時間半に変えてみた.すると今の所まぶたが重いという日はない.確証はないが,レム睡眠とノンレム睡眠が関係しているのかなと思っている.

 

これからもこの睡眠法で体調が整い続けるとありがたい.

 

自分の体の異常はなかなか気づけない

コロナの影響で家にいることが多くなったため,毎日体重を測ったり,食事に気を使ったりして,体調管理をしていた.けど,気づけなかった.

なぜか.

それは,まぶたが重くても活動はできたことがあったため,まぁ大丈夫だろうと思ってしまったからだと思う.つまり,主観で判断してしまっていた.

自分の判断が主観的なのか客観的なのか判断はしづらい.そのため,周りの人から意見をもらったりして情報を集めることで判断していくようにしていきたい.

 

今回,自分の生活を見直すきっかけを作ってくれたライフコーチの方には本当に感謝しています.

プログラミングの勉強も大事だが,毎日の体調を整えるための改善も行っていきたい.

 

 

今日学んだこと

redirect_to

→指定したURLに遷移させることができるメソッド

リダイレクト先の指定方法

URLで指定

redirect_to "URL"

Prefixで指定

redirect_to Prefix名

アクションで指定

redirect_to action: :アクション名

同一のコントローラーで指定したアクション名を指定する.

指定したコントローラーのアクションで指定

redirect_to controller: コントローラー名, action: アクション名

前のページを指定

redirect_to :back

 

ヘルパーメソッドform_withのmodelを2つ指定する理由

→例えばmodelに@problemと@answerを指定し,@problem = Problem.find(2)だった場合,<form>を用いると,

<form action="/problems/2/answers" method="post">

となる.つまり,modelの1つ目に指定した@problemはproblemsテーブルからレコードを1つ抜き出す役割をしている.このように書く必要があるかどうか見分けるにはルーティングでネストを使用しているかどうかで判断すればよいのではないかと思っている.

 

参考文献

https://pikawaka.com/rails/redirect_to (2020/08/02参照)

https://teratail.com/questions/162899 (2020/08/02参照)

今日学んだこと

Prefixで引数を書かないと行けない場合

→Prefixではパスに:idは含まれない.そのため,パスに:idが必要なときは引数に:idの

 代わりとなる値が必要となる.

 

<%= image_tag %>

→ヘルパーメソッドの1つで,Railsで画像を表示するためのimgタグを作成することがで

 きる.

使い方

<%= image_tag 'ファイル名', 'オプション名' %>

オプション名にはclassなどが入る.

このように記述すると下記のコードにコンパイルされる.

< img src="ファイル名" class="" >

 

deviseのsessionとregistrationの違い

→sessionは登録済みの人がログインする,またはログアウトするようなときに使う.

 registrationは登録という意味なので,新規登録のときに使う.

 

includes

→モデルを介してテーブルをアソシエーションするとDBへの行き来が増える.それによってアプリケーションの性能が落ちてしまう.そこでincludesを使うと1度にデータを引っ張り出してきてくれる.そうするとDBを行き来する必要がなくなる.DBから取り出してから結び付ける感じかな?N+1問題を解決してくれる.

 

今日起きたエラー

unknow attribute 'nickname' for 'User'というエラーが出た.これはnicknameがUserで見つけられないという意味.そのため,DBのカラム名と一致しているか確認した.確認すると一致していた.次にサーバーを再起動させてみた.すると,エラーはなくなった.おそらくDBに変更を加えた際にサーバーを再起動することを忘れていたのだと思う.これからはDBに変更を加えたときはサーバーを再起動することを忘れないようにする.

 

参考文献

https://teratail.com/questions/27863 (2020/08/01参照)

https://pikawaka.com/rails/image_tag (2020/08/01参照)

https://qiita.com/Ayaka_ramens/items/f0c68b08fcf6145c2b17 (2020/08/01参照)

 

HTMLとCSSについて調べたこと

 <small></small>

→smallタグで囲んだ文字はテキストサイズの一回り小さく表示される.

<strong></strong>

→strongタグで囲んだ文字は強調される.

<em></em>

→emで囲んだ文字は強調される.一般的なブラウザではイタリック体で表示される.

   より強く強調したいときにはstrongを用いる.emとは,emphasisの略.

 

./

→カレントディレクトリのことを示している.

©

→Option + G

flex-wrap

→display: flex;と併せて使う.値にはnowrap,wrap,wrap-reverseがある.

 nowrapはflexアイテムを折り返さない.wrapは上から下に折り返す.wrap-reverse

 はwrapとは逆に下から折り返す.

 

 

タグもプロパティも色々ある.

その都度,他の書き方はないのかとか,こんな風に変えれたらいいなとか考えることが大事.

知らないことを調べることも大事.

 

参考文献

http://www.htmq.com/ (2020/07/31 参照)

https://dekiru.net/article/13234/ (2020/07/31 参照)