状況
原因
- ルーティングにposts/indexが指定されていなかった
原因に気付かなかった理由
- rootにposts/indexを指定していたからそれで十分だと思っていた
- resouces:postsがあるからそれで十分だと思っていた
routes.rb
Rails.application.routes.draw do
devise_for :users,
controllers: { registrations: 'registrations' }
root'posts#index'
get "posts/index" => "posts#index"
get "users/index" => "users#index"
get '/users/:id', to: 'users#show', as: 'user'
#親子関係にあるということ
resources :posts, only: %i(index new create show destroy) do
resources :photos, only: %i(create)
resources :likes, only: %i(create destroy)
resources :comments, only: %i(create destroy)
end
end
get "posts/index" => "posts#index"
この部分を追加したらposts/indexで検索してもページがちゃんと表示された .
- posts使ってたから十分だと思ってたけど、これは親子関係での指定だからシンプルなresouces とは違ってたって認識でいいのかな?
また後日調べます