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

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

お気に入りボタン押したら同じページへ戻って再表示させたい!

お気に入りボタンをうまく実装できない!

いや、ボタン自体はできたんです。ただ押すとエラーが。

試しにusers/show.html.erbに表示させた。

そして、ボタンを押してみるとこんな表示が。

f:id:over54:20200712153837p:plain

「idの値がないから表示できない」と言っている。

僕は、users/show.html.erbのファイル内で起きていることなのでUsersController内で定義した@userが使えるものだとてっきり思っていた。

f:id:over54:20200712154122p:plain

がお気に入りボタン内ではUsersControllerなど全く使用していなかった。

f:id:over54:20200712154302p:plain

おそらく_likes_button_html.erb(お気に入りボタン設置用のコード、パーシャルで作成)の4行目と11行目のところで「favorites_tableを使い、favoritesControllerで定義したもので操作するよ〜」と定義している(んだと思う)

だから、favoritesControllerのcreateアクションに(@user)なんて定義していないからエラーが起きたということ。

ちなみに同じページにredirectさせたい時はそもそもredirect_toではなく、redirect_back(fallback_location: ○○)で行うようだ。

そしたら無事お気に入り機能が実装できました。