解決したいこと
railsで作ったWebサイトに、kaminariでpaginateを実装していて、最初のページは問題なく表示されるのですが、次のページに飛ぶとActiveRecord::RecordNotFoundのエラーが出てしまいます。
これを解決して、検索結果のページで問題なくpaginateができるようにしたいです。
エラー内容
ActiveRecord::RecordNotFound in SubmitsController#show Couldn't find Submit with 'id'=search_show def show @submit = Submit.find(params[:id]) //ここでエラーが出ています。 end
該当コード
controller
1 def search_show 2 @submits = Submit.search(params[:area_search],params[:purpose_search],params[:price_search]).order("id DESC").page(params[:page]).per(5) 3 if !@submits 4 @submits = Submit.all 5 end 6 end 7 8 def show 9 @submit = Submit.find(params[:id]) 10 end
検索結果がsearch_showアクションで表示して、その検索結果一覧から詳細ページであるshowアクションに遷移します。
Viewには
<%= paginate @submits %>
のみしか記載していません。
エラーの内容的にルーティング間違えている可能性もあるので、下記に該当のルーティングを書きます。
routes
1resources :submits 2get 'submits/search_show/' => 'submits#search_show' 3post 'submits/search_show/' => 'submits#search_show' 4get 'submits/show/:id/' => 'submits#show' 5delete 'submits/:id' => 'submits#destroy'
色々調べてもわからなかったので、わかるかたいましたら教えていただきたいです!
回答1件
あなたの回答
tips
プレビュー