プログラミング初心者の勉強メモ。

あくまでメモなので、自分が忘れそうなことだけちょこちょこ書いてます。

sessions#destroyが機能しない

f:id:over54:20200626154449p:plain

f:id:over54:20200626154021p:plain

ログアウト機能を追加したので、試してみたのだが、

f:id:over54:20200626154120p:plain

Routing Errorといわれてしまった。原因はmethod部分が違ったから

f:id:over54:20200626154728p:plain

routes.rbでdelete 'logout'と記述したのだが、リンクを作るときには、link_toでurlやpathを書くだけではダメで、どうやらmethod: :○○という記述をしない限り基本get扱いとなってしまうらしい。

なので、logout_pathの後ろにmethod: :deleteを追加

f:id:over54:20200626154342p:plain

そしたら、今度別のエラーが。

f:id:over54:20200626155025p:plain

f:id:over54:20200626155036p:plain

SessionsControllerにdestroyのアクションなんか無いけど。ってツッコミが。

確かめると、

f:id:over54:20200626155123p:plain

いや、作ってるんだけどね〜うーん。

と悩んでいると、実はdef destroyの後ろに全角スペースが。

こいつを取り除けばもしかして…

f:id:over54:20200626155344p:plain

ログアウトボタン押したら、とりあえずログインページへ飛ばせました。

全角スペースがコード内に入ると機能しなくなるので要注意ですね。