kaleidliner
@kaleidliner

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

削除機能を追加したいがUrlGenerationErrorが出てしまう

解決したいこと

railsでスコア管理アプリを作っています。
ログインしているユーザーごとにスコアを管理し表示することに成功しましたが、投稿したスコアを削除する削除機能を実装中にエラーになりました。
どうか解決方法を教えて下さい。

発生している問題・エラー

ActionController::UrlGenerationError in Scores#index
No route matches {:action=>"show", :controller=>"scores", :id=>nil}, missing required keys: [:id]

該当するソースコード

scores_controller.rb

def destroy
    @score = Score.find(params[:id])
    @score.destroy
    reddirect_to root_path
   end

index.html.erb

<%= link_to "削除", score_path(@score.id), method: :delete, class:"score_destroy" %>

routes.rb

Rails.application.routes.draw do
  devise_for :users
  root to: "scores#index"
  resources :scores
end

自分で試したこと

エラーでurlとルーティングの事を言われているのでビューとroutesのpathを見ましたが間違っていないように思います。
methodでdeleteを指定しているにも関わらずshowアクションを呼び出そうとしているのでそこで調べたらbutton_toに変更するという記事が出てくるのでlink_toからbutton_toに変更したがエラーは変わらなかった。
https://gyazo.com/b6d8ca2c2dcee8760f9ec45234b440f3

0

No Answers yet.

Your answer might help someone💌