Rails と Vue.js を用いた SPA でログイン の仕組みを作ってみる

以前、Rails と Vue.js CSRF 対策を意識してシングルページアプリケーションを作ってみるという記事を書きました。

今回は、タイトル通り Rails と Vue.js を用いた SPA でログインの仕組みを用意してみます。

※2020/07/14 追記
Cookie の取り扱い方についての修正事項を追記しています。
Rails と Vue.js を用いた SPA でログイン の仕組みを作ってみる(Cookie での注意編)

Read More

モデルが無いときのストロングパラメーターとバリデーション、解決策としての Form Object

モデルと関連のないフォーム、モデルに無いカラムのあるフォームを作ると、毎回「ストロングパラメータどうやって使うんだ?」。
「バリデーションをコントローラーに書くの気持ち悪い。」と感じてきました。
いままでは、params[:key]でアクセスして個別に確認することをしていたけれど、扱い方をしっかり認識できました。
最終的には、Form Object を使用することが解決策になると認識できるまでのまとめです。

Read More

ハッシュを文字列でもシンボルでも使えるようにしたかった

ハッシュを使う時、h[:key]だったりh["key"]といった、文字列とシンボルでキーを設定できます。
しかし、自前で作ったのならまだしもライブラリから渡されたハッシュがどちらで指定しているのかわかりにくくも感じます。
どうせなら「どちらでもつかえたらいいのにな。」という記事です。

Read More

Devise でロック解除したら、パスワード変更を強制する

Deviseを使うことで、簡単にログイン機能を実装できます。
関連してアカウントのロック機能や、メールの送信も実装できます。

よくあるロックされたアカウントの解除には、パスワードの変更がつきものです。
今回は、Devise をベースにロックを解除したら、パスワード変更を強制してみます。

Read More