ЯoomeR

プログラミング~実装とエラー解決と、時々、AI~

rails routesのPrefixが空白の場合

パスを確認しようとしたら・・・

ページを遷移させるために「rails routes」でパスを確認!

...空白じゃん。

という場合の対処法。

結論:上と同じパスである

以下はrails routeの結果の例である。

                          Prefix Verb   URI Pattern                                                                              Controller#Action
                                 root GET    /                                                                                        items#index
                          item_photos GET    /items/:item_id/photos(.:format)                                                         photos#index
                                items GET    /items(.:format)                                                                         items#index
                                      POST   /items(.:format)                                                                         items#create
                             new_item GET    /items/new(.:format)                                                                     items#new
                            edit_item GET    /items/:id/edit(.:format)                                                                items#edit
                                 item GET    /items/:id(.:format)                                                                     items#show
                                      PATCH  /items/:id(.:format)                                                                     items#update
                                      PUT    /items/:id(.:format)                                                                     items#update
                                      DELETE /items/:id(.:format)                                                                     items#destroy

上記から、空白部分を抜粋してみる。

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

下のPrefix部が空白となっている。

itemsコントローラーのcreateアクションのパスがない。困った。

実は、空白部分は「上と同じパスである」という意味である。

よって、indexアクションもcreateアクションもパスは「items_path」となる。