実現したいこと
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 コメント