前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Ruby on Railsで、簡単なツイート投稿機能を作っています。
ツイート編集をして、Submitボタンを押したところ、以下のエラーメッセージが発生しました。
Routing Error
No route matches [PATCH] "/prototypes" Routes match in priority from top to bottom
routes.rb
routes.rb
1Rails.application.routes.draw do 2 devise_for :users 3 root to: "prototypes#index" 4 resources :prototypes, only: [:new, :create, :show, :edit, :update,] 5end 6
prototypes_controller
prototypes_controller
1class PrototypesController < ApplicationController 2 def index 3 @prototypes = Prototype.all 4 end 5 6 def new 7 @prototype = Prototype.new 8 end 9 10 def create 11 @prototype = Prototype.new(prototype_params) 12 if @prototype.save 13 redirect_to root_path 14 else 15 render action: :new 16 end 17 end 18 19 def show 20 @prototype = Prototype.find(params[:id]) 21 end 22 23 def edit 24 @prototype = Prototype.find(params[:id]) 25 end 26 27 def update 28 prototypes = Prototype.find(params[:id]) 29 if prototype.update(prototype_params) 30 redirect_to prototype_path 31 else 32 render :edit 33 end 34 end 35 36 private 37 def prototype_params 38 params.require(:prototype).permit(:title, :catch_copy, :concept, :image).merge(user_id: current_user.id) 39 end 40 41end 42 43 44### edit.html.erb 45 46```edit.html.erb 47<div class="main"> 48 <div class="inner"> 49 <div class="form__wrapper"> 50 <h2 class="page-heading">プロトタイプ編集</h2> 51 <%=render partial: "form" %> 52 </div> 53 </div> 54</div> 55
### _form.html.erb ```_form.html.erb <%= form_with model: @prototype, url: prototypes_path, local: true do |f|%> <div class="field"> <%= f.label :title, "プロトタイプの名称" %><br /> <%= f.text_field :title %> </div> <div class="field"> <%= f.label :catch_copy, "キャッチコピー" %><br /> <%= f.text_area :catch_copy, class: :form__text %> </div> <div class="field"> <%= f.label :concept, "コンセプト" %><br /> <%= f.text_area :concept, class: :form__text %> </div> <div class="field"> <%= f.label :image, "プロトタイプの画像" %><br /> <%= f.file_field :image %> </div> <div class="actions"> <%= f.submit "保存する", class: :form__btn %> </div> <% end %>
試したこと
・routes.rbファイルにて、updateの定義が間違っていないか確認しました。
補足情報(FW/ツールのバージョンなど)
'rails', '~> 6.0.0'を使用しています。
RoutingErrorだったので、ルート・アクション共にちゃんと定義されているか確認したのですが、原因が分からず困っています…
ご回答いただけると、とても助かります。
宜しくお願い致しますm(__)m
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/15 15:12
2021/01/15 16:32
2021/01/16 02:08 編集
2021/01/16 05:49
2021/01/16 06:05