以下の内容でtaskをcreateボタンをおすとルーティングエラーになりました。
<new.html.erb>の@taskがnilとなってしまっているので、ここら辺が原因だとは思いますが助言を頂ければと思います。
エラー文:
Routing Error No route matches [POST] "/tasks/new"
Parameters: {"authenticity_token"=>"/l7q3UeclmNpq7R24KlbwByt/mC1jKFUnM4oSFkqy/YjF9S3UdO7V9wCt4b/cibKfeBwGRao1Gtf7ki44rUSRg==", "title"=>"foge", "commit"=>"CREATE"}
<new.html.erb>
<h1>CREATE NEW TASK</h1> <%= form_with model: @task, local: true do |f| %> ######## <%binding.pry%> <p><%= f.text_field :title, class: "form-control" %></p> <p><%= f.submit "CREATE", class: "btn btn-outline-primary"%></p> <% end %>
<routes.rb>
Rails.application.routes.draw do resources :tasks root to: "tasks#index" # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html end
<tasks_controller.rb>
class TasksController < ApplicationController def index @tasks = Task.all end def new end def show end def create @task = Task.create(task_params) redirect_to tasks_path end def destroy @task = Task.find(params[:id]) @task.destroy redirect_to tasks_path end def edit @task = Task.find(params[:id]) end def update @task = Task.find(params[:id]) @task.update(task_params) redirect_to tasks_path end private def task_params params.require(:task).permit(:title) end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/06 01:14