Rails| Ruby on Rails5学習コース・Ⅱ-15|リンクのパス
メモを取りつつのんびりペースで進めております。
そこまで詰まることはなく、何をしているかもどうにか付いて行けている感じです。
エラーの原因
そんな中、Ⅱ-15でなんでこうなった?な、エラーに出会いました
投稿一覧ページ(loclhoat:3000/posts/index)を表示させた状態で
ヘッダーの投稿一覧ページへのリンクをクリック
するとエラーでページが表示されず
よく見ると要求されているアドレスが「loclhost:3000/posts/posts/index」になっているではないですか
はて🐫
解決策は単純
原因は単純で、問題のリンク部分のコードをよく見てみると
「<%= link_to("投稿一覧", "/posts/index) %>」としなければいけない所を
「<%= link_to("投稿一覧", "posts/index) %>」としていたせいでした
分かってしまえば単純なミスタイプでした
ではなんでこうなったのか
原因を🐫なりに考えてみる
頭についている「/」は何なのか
以前「loclhost:3000」とURLを入力してtop.html.erbのviewを返すようにする時に
ルーティングを「get “/” => “home#top”」にしたのを思い出しました
「/」と言うのは「(loclhost:3000)/」と言う事なのでは?と思い立ち
postsの頭に/付け忘れた為に現在位置(localhost:3000/postsディレクトリ)から下位のposts/indexを指定した状態になったのかな?
と、自分なりに納得
パスの指定方法
自分なりには納得したものの解釈違いだと良くないなと思ったので調べようと思ったのだけど
上手くキーワードが見つからなかったのでTwitterで聞いてみました
そして教えていただきました
「相対パス」と「絶対パス」と言う事を
もうね、目から鱗でしたね
その一言でHTMLで学んだ事を思い出しました!
すっきり納得で解決できました
教えて下さった方と、そんな方に出会わせてくれたTwitterありがとう!
むしろイイネってしてもらえるだけでもありがたいし、繋がってる方もそうでない方もみんなありがとう過ぎるよね✨
その後の状況
その後はそれなりにスムーズに進んでおり
学習コースのⅢ、道場コースのⅠ、学習コースのⅣまで終了しました。
リンクメソッドでの「/」忘れが引き続き目立っているので気を付けていきたい所存