kqkky1101
@kqkky1101

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

【rails7】link_to method: :postが認識されず、routeがGETで認識される

解決したいこと

突然、以下のmethod: :postで定義されているコードがGETでしかrouteされなくなってので、postで受け取るようにしたいです。
なお、以下のコード以外のpostやdestroyアクションは問題なく動きます。
よろしくお願いいたします。

<%= link_to("/likes/#{@post.id}/destroy", data:{turbo_method: :post}) do %>

エラー

Started GET "/likes/14/create" for ::1 at 2022-10-08 20:21:47 +0900

ActionController::RoutingError (No route matches [GET] "/likes/14/create"):

自分で試したこと

https://teratail.com/questions/282169
を参照し、rails webpacker:install後にapp/javascript/aplication.jsに以下のコードを追加でだめでした

app/javascript/aplication.js

require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require('jquery')

https://blog.ezic.info/43631.html
を参照し、以下のコードを追加でもダメでした

app/javascript/aplication.js

import Rails from "@rails/ujs"
import Turbolinks from "turbolinks"
import * as ActiveStorage from "@rails/activestorage"
import "channels"

Rails.start()
Turbolinks.start()
ActiveStorage.start()

aplication.html.erb

<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>

以下、①、②を追加する前の状態です。

aplication.js

// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails
import "@hotwired/turbo-rails"
import "controllers"

aplication.html.erb

<!DOCTYPE html>
<html>
  <head>
    <title>CoTrade</title>
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <%= csrf_meta_tags %>
    <%= csp_meta_tag %>

    <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
    <%= javascript_importmap_tags %>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">

  </head>

補足

windows10
ruby 3.1.2p20
Rails 7.0.4
yarn 1.22.19

0

1Answer

Your answer might help someone💌