ActionController::UrlGenerationError in CreditCard#new ~~pathをprefixで書いた時のエラー~~
はじめに
マイページへのリンク先をprefixで書いた時にエラーでつまずいたので記録として残します。
実装したこと
hamlの = link_to
でurlを"/users/#{current_user.id}"
で
記載してマイページに遷移するようにしていました。
"/users/#{current_user.id}"
をprefixの記載に変更するために
rails routesで探しにいきました。
userとなっているのでuser_path
として記載しました。
すると下記のエラーが発生。
No route matches {:action=>"show", :controller=>"users"}, missing required keys: [:id]
のエラーコードを見てmissing required keys: [:id]の部分に着目しました。
「idが必要だけどないよー」と言われてます。
なのでuser_path
の後に(current_user.id)
を足して記述しました
結果、無事に解決しました。
修正前
= link_to "マイページ", user_path
修正後
= link_to "マイページ", user_path(current_user.id)
おわりに
これからは最初からprefixで記載する習慣をつけて行こうと思います。
今回はエラー文を読み取って割と早期に解決することができましたので
今後も冷静にエラー文を分析して解決する能力を高めていこうと思います。
何か補足事項とうございましたら、是非コメントをお願いいたします。
しょうま
Author And Source
この問題について(ActionController::UrlGenerationError in CreditCard#new ~~pathをprefixで書いた時のエラー~~), 我々は、より多くの情報をここで見つけました https://qiita.com/choma63/items/f66699a43179622e6613著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .