No route matches [POST] "/prototypes/8" エラー文の解決
解決したいこと
No route matches [POST] "/prototypes/8"
エラー文が出てしまいます。解決方法を教えてください。
発生している問題・エラー
No route matches [POST] "/prototypes/8"
https://gyazo.com/a371e58ee1ce6783e672e8571cba1437
該当するソースコード
<%if user_signed_in? %>
<%= form_with(model:@comment, local: true) do |f|%>
<div class="field">
<%= f.label :text, "コメント" %><br />
<%= f.text_field :text %>
</div>
<div class="actions">
<%= f.submit "送信する", class: :form__btn %>
</div>
<% end %>
<% else %>
<ul class="comments_lists">
<%# 投稿に紐づくコメントを一覧する処理を記述する %>
<li class="comments_list">
<%# <%= " コメントのテキスト "%>
<%# <%= link_to "( ユーザー名 )", root_path, class: :comment_user %>
</li>
<%# // 投稿に紐づくコメントを一覧する処理を記述する %>
</ul>
<% end %>
class CommentsController < ApplicationController
def create
@comment = Comment.new(comment_params)
if @comment.save
redirect_to prototype_path(@comment.prototype)
else
@prototype = @comment.prototype
@comments = @prototypes.comments
render "prototypes/show"
end
end
private
def comment_params
params.require(:comment).permit(:text).merge(user_id: current_user.id, prototype_id: params[:prototype_id])
end
end
Rails.application.routes.draw do
devise_for :users
root to: "prototypes#index"
resources :prototypes do
resources :comments, only: :create
end
end
class PrototypesController < ApplicationController
def index
@prototypes=Prototype.all.includes(:user)
end
def new
@prototype=Prototype.new
end
def create
@prototype=Prototype.new(prototype_params)
if @prototype.save
redirect_to root_path
else
render :new
end
end
def show
@prototype = Prototype.find(params[:id])
@comment=Comment.new
end
def edit
@prototype = Prototype.find(params[:id])
end
def update
@prototype = Prototype.find(params[:id])
if @prototype.update(prototype_params)
redirect_to prototype_path
else
render :edit
end
end
def destroy
prototype = Prototype.find(params[:id])
prototype.destroy
redirect_to root_path
end
private
def prototype_params
params.require(:prototype).permit(:title,:catch_copy,:concept,:image).merge(user_id: current_user.id)
end
end
自分で試したこと
エラーが起きた箇所とpostで指定されているURIパターンに不一致が見られたので直そうと思ったが上手く治せなかった。
0