前提・実現したいこと
ruby on railsを使っています。
一つのurlから別々のidを取得したいです。
idを取得したいのはtasks#showアクションのurlからです
発生している問題・エラーメッセージ
エラーメッセージ
ActiveRecord::RecordNotFound in TasksController#show
Couldn't find User with 'id'=100
該当のソースコード
tasks
1class TasksController < ApplicationController 2 3 def index 4 @tasks = Task.where(user_id: @current_user.id).order("created_at DESC").paginate(page: params[:page], per_page: 5) 5 end 6 7 def show 8 @user = User.find(params[:id]) 9 @task = Task.find(params[:id]) 10 end 11 12ルーティング 13 Prefix Verb URI Pattern Controller#Action 14 root GET / static_pages#top 15 signup GET /signup(.:format) users#new 16 login GET /login(.:format) sessions#new 17 POST /login(.:format) sessions#create 18 logout DELETE /logout(.:format) sessions#destroy 19 GET /tasks/:id/users/:user_id(.:format) tasks#show 20 tasks GET /users/:id/tasks(.:format) tasks#index 21 POST /users/:id/tasks(.:format) tasks#create 22 new_task GET /users/:id/tasks/new(.:format) tasks#new 23edit_task GET /users/:id/tasks/:id/edit(.:format) tasks#edit 24 task GET /users/:id/tasks/:id(.:format) tasks#show 25 PATCH /users/:id/tasks/:id(.:format) tasks#update 26 PUT /users/:id/tasks/:id(.:format) tasks#update 27 DELETE /users/:id/tasks/:id(.:format) tasks#destroy 28 users GET /users(.:format) users#index 29 POST /users(.:format) users#create 30 new_user GET /users/new(.:format) users#new 31edit_user GET /users/:id/edit(.:format) users#edit 32 user GET /users/:id(.:format) users#show 33 PATCH /users/:id(.:format) users#update 34 PUT /users/:id(.:format) users#update 35 DELETE /users/:id(.:format) users#destroy
試したこと
具体的にこのような形にしたいです。
現在のルーティング
task GET /users/:id/tasks/:id(.:format) tasks#show
users/:idにはログインしているユーザーのid
tasks/:idには投稿したidを表記したいです。
例、、
理想 users/2/tasks/100
自分 users/100/tasks/100
このようになってしまいます、、
エラーの内容はid100のユーザーは存在しませんとなっています。確かに存在しません。どうやらusers/:idの部分がtasks/:idになっているみたいです。
ルーティングを
task GET /users/:user_id/tasks/:id(.:format) tasks#show
に変えてから
@user = User.find(params[:user_id])
@task = Task.find(params[:id])
でidをそれぞれ取得も試みましたができませんでした。
調べてもどうしても解決できません。どなたかご教授頂けないでしょうか汗
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー