前提・実現したいこと
Ruby on Rails初心者です。ツイート投稿サイト作成中で、削除機能を追加したところ
No route matches [GET] "/tweets/:id/destroy"のエラーで、削除機能が実行されません((+_+))
発生している問題・エラーメッセージ
No route matches [GET] "/tweets/41/destroy" Rails.root: /home/ec2-user/environment/pictweet Application Trace | Framework Trace | Full Trace
該当のソースコード
・routes.rb
ruby
1Rails.application.routes.draw do 2 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 3 get '/' => 'tweets#index' 4 get 'tweets/new' => 'tweets#new' 5 post 'tweets/create' => 'tweets#create' 6 get "tweets/:id/edit" => "tweets#edit" 7 post "tweets/:id/update" => "tweets#update" 8 delete "tweets/:id/destroy" => "tweets#destroy" 9end 10
・tweets_controller.rb
ruby
1class TweetsController < ApplicationController 2 def index 3 @tweets = Tweet.all.order(created_at: :desc) 4 end 5 6 7 def new 8 end 9 10 def create 11 @tweet = Tweet.new(text: params[:text]) 12 @tweet.save 13 redirect_to("/") 14 end 15 16 def edit 17 @tweet = Tweet.find(params[:id]) 18 end 19 20 def update 21 @tweet = Tweet.find_by(params[:id]) 22 @tweet.text = params[:text] 23 @tweet.save 24 redirect_to("/") 25 end 26 27 def destroy 28 @tweet = Tweet.find_by(params[:id]) 29 @tweet.destroy 30 redirect_to("/") 31 end 32 33end 34
・index.html.erb
ruby
1<% @tweets.each do |tweet| %> 2 <p><%= tweet.text %></p> 3 <div class="teet-menus"> 4 <%= link_to '編集', "/tweets/#{tweet.id}/edit" %> 5 <%= link_to("削除", "/tweets/#{tweet.id}/destroy",{method: "delete"}) %> 6 </div> 7<% end %>
・aplication.html.erb
ruby
1<!DOCTYPE html> 2<html> 3<head> 4</head> 5<body> 6 <header> 7 <div class="header-logo"> 8 <%= link_to("TweetApp", "/") %> 9 </div> 10 <ul class="header-menus"> 11 <li> 12 <%=link_to("新規投稿","/tweets/new")%> 13 </li> 14 </ul> 15 </header> 16<%= yield %> 17</body> 18</html>
試したこと
routesと、メソッドをPOSTからDELETEに変えた。(が、解決しない…)
その他解決方法を検索してみたが、分からず(_)
アドバイスいただけますと助かります…
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。