アプリケーションを初めて自分で作っているのですが、作成する際にscaffoldを使ってしまいました。
ルーティングはresourcesを使いました。
フォームのコードは
<%= form_with model: @post, local: true, url:"/posts/#{@post.id}/edit" do |form| %> <div class="field"> <%= form.label :タイトル %> <%= form.text_field :title, placeholder: "タイトル" %> </div> <div class="field"> <%= form.label :レシピ %> <%= form.text_area :content, placeholder: "レシピ" %> </div> <div class="actions"> <%= form.submit "編集する" %> </div> <% end %>
で、アクションはscaffoldで生成されたままにしています。
def edit end def update respond_to do |format| if @post.update(post_params) format.html { redirect_to @post, notice: 'Post was successfully updated.' } format.json { render :show, status: :ok, location: @post } else format.html { render :edit } format.json { render json: @post.errors, status: :unprocessable_entity } end end end
この状態で、submitボタンを押すと、Routing Error となり、 No route matches [PATCH] "/posts/2/edit"
と表示されてしまいます。どなたか解決方法を教えていただけたら助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/28 09:44
2021/01/28 10:08
2021/01/28 12:16