前提・実現したいこと
エラー文「ActionController::UrlGenerationError in Tasks#index」の解決
railsでtodoリストを作成するアプリを作っています。
ルーティングでgroup resourcesにtask resoucesをネストしています。
その際indexアクションのhaml内にeditアクションのリンク先を記載した「link_to」を入力したところエラー画面が表示されました。
発生している問題・エラーメッセージ
ActionController::UrlGenerationError in Tasks#index No route matches {:action=>"edit", :controller=>"tasks", :group_id=>nil}, missing required keys: [:id], possible unmatched constraints: [:group_id] = link_to edit_group_task_path(@task.id),class: "TextBox__editButton" do
該当のソースコード
resources :groups, only: [:index, :new, :create, :edit, :update] do resources :tasks, only: [:index, :new, :create, :edit, :update]
before_action :set_group def edit @task = Task.find(params[:id]) end def update @task = Task.find(params[:id]) task.update(task_params) end private def task_params params.require(:task).permit(:todo).merge(user_id: current_user.id) end def set_group @group = Group.find(params[:group_id]) end end
indexアクションの該当ビュー
1.MainText 2 - @tasks.each do |task| 3 .TextBox 4 .TextBox__text 5 = task.todo 6 .TextBox__user 7 = task.user.name 8 .TextBox__date 9 = task.created_at.strftime("%Y年%m月%d日 %H時%M分") 10 = link_to edit_group_task_path(@task.id),class:"TextBox__editButton" do 11 編集
試したこと
indexアクションの該当ビューにおける「= link_to edit_group_task_path(@task.id)」が問題かと考えいろいろ試してみましたがエラー画面が変わりません。どなたかお分かりになる方がいらしゃいましたらご教授頂きたいです。
あなたの回答
tips
プレビュー