session情報はブラウザを閉じる消える
session変数を使ってユーザーをログイン状態にできるのだけどブラウザを閉じる消える。
そこでcookieを使用するのだがrailsチュートリアルの話は脈絡がなさすぎてひどすぎる。
いいサイトがあったので引用する。
Cookieにもログイン情報を持たせてしまい、ブラウザを閉じても状態が維持されるようにしよう。という使い方になる。「ログイン状態を保存する」みたいなチェックボックスがあるWebサービスでやってるアレだ。実際にはDBにもハッシュ化した情報を保存し、次回訪問時にCookieの内容と突き合わせてログイン状態を参照するという方法を取っている。Railsではcookiesメソッドを使ってこの機能を実現する。
言っていることはわかるけどrailsチュートリアルのコードがようわからんのでとりあえずコピペ
remember_digestカラムの追加
$ rails generate migration add_remember_digest_to_users remember_digest:string
マイグレーションファイルをみて、特に問題ないことを確認したらrails db:migrateで反映
ここから先はだるすぎるので、もうコードをコピペしまくる。→なんとかうごく→テストがどうのこうのと書かれている。→意味不明→雰囲気だけつかんであとはとりあえずコピペで動くからコピペ
ブラウザのクッキーを確認する方法
よくわからないことが書かれているので自己流で、ブラウザのクッキーを確認する。
Chromeの場合は「設定」→ページ下部の「詳細設定」→ちょっとしたの「コンテンツの設定」→「Cookie」→「すべての Cookie とサイトデータを表示」で確認。なんかそれらしきものがある。
とりあえずおもむろにブラウザをとじて、ログインが保持されているか確認。→保持されてた。動いたからいいだろたぶん。なんとなくはわかるけどたぶんほぼほぼ理解できてない。railsチュートリアル9章は考えるとつまづくのでコピペ推奨。だめだこりゃ。
コメント