🎃

No routes match [GET] "/users_path"

2023/05/07に公開

RailsTutorial10章で発生したエラーの自分用メモを再編集しています。
誰かの参考になるかどうか気にしていません。
なぜか解決しちゃったので具体的な解決策は載っていません。エラー奮闘記

No route matches [GET] "/users_path"

ヘッダーに名前付きルートを追加
Usersボタンの部分にusers_pathを指定
ヘッダーのUsersをクリックしてアクセスするとURLは/users_pathになり、下記内容のエラーページになる。

No route matches [GET] "/users_path"

エラーページのルートリストには

users_path GET    /users(format)
	       POST /users(format)

手動で/indexにアクセスすると見たかったページになる

route.rbを確認、公式と比較 問題なさそう
_header.html.erbを確認
users_path を ‘users_path’ と記述していた。シングルクォートで囲っていた。 修正
出力は変わらず

$ rake routes

users GET    /users(.:format)
                                  users#index
        POST   /users(.:format)
                                  users#create

一度サーバー再起動するも変わらず

homeからUserにアクセスするといける
profileからはuser_pathに飛ばされていた
(↑この辺何を言ってるか自分でもわからない ホーム画面のヘッダーにあるUsersボタンを押すとエラーは出ない、ヘッダープルダウンのプロフィールボタンはuser_pathを指定しておりちゃんと機能する、みたいなことを言いたいのかも。)

いったんpaginate関連をコメントアウトしてまたコメントアウトを消したらなぜか解消した


こういうなぜ解消したかわからないエラー本当に困る。再現できない。サーバー再起動が効果なかったと書いてあるけど本当は効果あったのかもしれない。サーバー再起動後同じページをリロードしたらダメだったけど一度別のページに遷移したらよかったとかそんな感じだろうか。同じページをリロードしていたかも記録にないのでわからん。

Discussion