【Rails 7】Railsのlink_toでPOSTできない

実現したいこと

link_toでPOSTしたい。

前提

Ruby on RailsでXのような投稿アプリをつくっています。
投稿詳細から投稿削除をする動作でエラーが発生しました。

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

No route matches [GET] "/posts/3/destroy"

該当のソースコード

erb

1<div class="main posts-show">2 <div class="container">3 <div class="posts-show-item">4 <p>5 <%= @post.content %>6 </p>7 <div class="post-time">8 <%= @post.created_at %>9 </div> 10 <div class="post-menus">11 <%= link_to("編集", "/posts/#{@post.id}/edit") %>12 <%= link_to("削除", "/posts/#{@post.id}/destroy", {method: "post"}) %>13 </div>14 </div>15 </div>16</div>17

試したこと

Rails 7ではTurboが導入されたのに対して、data-methodはRails 6以前のrails-ujsを使った書き方となっていることが分かった。
自分なりに該当コードをdata-turbo-method属性に書き換えてみました。

<%= link_to "削除", "/posts/#{@post.id}/destroy", data: { turbo_method: post} %>
ActionView::SyntaxErrorInTemplate in PostsController#show

上記のエラーが出てしまいました。
初歩的な質問で申し訳ございませんが、正しい訂正をご教授頂けると幸いです。

補足情報

Rails 7.1.2 / ruby 3.2.2

コメントを投稿

0 コメント