質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

5434閲覧

rails No route matches [POST] が表示され、処理を実行できない。

fu_kkazu

総合スコア1

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2020/05/16 09:33

前提・実現したいこと

dotinstall
Ruby on Rails 5入門 » #22 記事を削除できるようにしよう
URL(https://dotinstall.com/lessons/basic_rails_v3/41822)
を作業しています。

簡易的Twitterを作成していますが、記事の投稿、編集はできるが、削除を実装すると
エラーが発生します。

×を選択すると、選択したpostsが削除できるようにしたいです。

発生している問題・エラーメッセージ

Routing Error No route matches [POST] "/posts/10"

イメージ説明

×を選択
イメージ説明

OK選択するとエラーメッセージがでる
イメージ説明

該当のソースコード

indexhtmlerb

1<h2> 2 <%= link_to 'Add New', new_post_path, class: 'header-menu' %> 3 My Posts 4</h2> 5<ul> 6 <% @posts.each do |post| %> 7 <li> 8 <%= link_to post.title, post_path(post) %> 9 <%= link_to '[Edit]', edit_post_path(post), class: 'command' %> 10**** <%= link_to '[×]', 11 post_path(post), 12 method: :dalete, 13 class: 'command', 14 data: { confirm: 'Sure?' } %>**** 15 </li> 16 <% end %> 17</ul>

postscontrollerrb

1class PostsController < ApplicationController 2 3 def index 4 @posts = Post.all.order(created_at: 'desc') 5 end 6 7 def show 8 @post = Post.find(params[:id]) 9 end 10 11 def new 12 @post = Post.new 13 end 14 15 def create 16 @post = Post.new(post_params) 17 if @post.save 18 redirect_to posts_path 19 else 20 render 'new' 21 end 22end 23 24def edit 25 @post = Post.find(params[:id]) 26end 27 28def update 29 @post = Post.find(params[:id]) 30 if @post.update(post_params) 31 redirect_to posts_path 32 else 33 render 'edit' 34 end 35end 36 37**def destroy 38 @post = Post.find(params[:id]) 39 @post.destroy 40 redirect_to posts_path 41end** 42 43 private 44 def post_params 45 params.require(:post).permit(:title, :body) 46 end 47end 48

routesrb

1Rails.application.routes.draw do 2resources :posts 3 root 'posts#index' 4end

rakeroutes

1 Prefix Verb URI Pattern Controller#Action 2 posts GET /posts(.:format) posts#index 3 POST /posts(.:format) posts#create 4 new_post GET /posts/new(.:format) posts#new 5edit_post GET /posts/:id/edit(.:format) posts#edit 6 post GET /posts/:id(.:format) posts#show 7 PATCH /posts/:id(.:format) posts#update 8 PUT /posts/:id(.:format) posts#update 9 DELETE /posts/:id(.:format) posts#destroy 10 root GET / posts#index

試したこと

rake routesにて、 [POST] "/posts/10"を確認し存在しない
routes.rbにて、ルート確認 特に問題なし

補足情報(FW/ツールのバージョンなど)

ruby 2.6.3p62
Rails 5.1.7
ローカル開発環境(Oracle VM VirtualBox/PuTTY/Cyberduck)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

method: :dalete,

deleteの誤字ではないでしょうか?

投稿2020/05/16 22:56

asm

総合スコア15149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fu_kkazu

2020/05/17 00:31

大変お恥ずかしい限りです。。。ありがとうございます。 変更後、削除を実装したところ、下記エラーコードが出てしまいました。。。 SQLite3::ConstraintException: foreign key constraint failed: DELETE FROM "posts" WHERE "posts"."id" = ? posts_controller.rbの@post.destroyを示され、外部キー制約に引っかかり削除できません。 何度も申し訳ありませんが、一緒に考えて頂けますと助かります。 よろしくお願いします。
asm

2020/05/17 00:53

モデルの関連付けを見直すといいかと思います。
fu_kkazu

2020/05/17 01:02

post内にコメントを残せるんですが、post削除の際、コメントも削除する関連付けを下記設定したところ解決しました。 post.tb has_many :comments, dependent: :destroy ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問