Я только что запустил простой проект Rails 6.0.3.1.
Я настраиваю действия Devise, но ссылка для выхода не работает. Он выполняет запрос GET
вместо DELETE
, несмотря на то, что я указываю метод:
- if user_signed_in?
= link_to 'Logout',
destroy_user_session_path,
class: 'button is-light',
method: :delete
Щелчок по ссылке дает:
В консоли ошибок нет:
Мой app/javascript/packs/application.js
выглядит так:
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
Итак, Rails u js должен перехватить щелчок по ссылке и выполнить DELETE
, но это не так.
Мой config/webpack/environment.js
выглядит так:
const { environment } = require('@rails/webpacker')
const { VueLoaderPlugin } = require('vue-loader')
const vue = require('./loaders/vue')
environment.plugins.prepend('VueLoaderPlugin', new VueLoaderPlugin())
environment.loaders.prepend('vue', vue)
module.exports = environment
I пытался найти решение в других потоках SO, но я не нашел ничего, что работает. Некоторые люди предлагали использовать кнопку вместо ссылки, но мне нужна ссылка, а не кнопка.
Проблема возникла после того, как я установил Bulma CSS framework через пряжу:
yarn add bulma
который Затем я импортировал в свой проект в app/javascript/packs/application.scss
с:
@import '~bulma';
Мой файл макета (application.html.erb
) включает строки:
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_pack_tag 'application' %>
Я создал простое фиктивное приложение , чтобы воспроизвести проблему.
Есть какие-нибудь советы по поводу того, что я здесь делаю неправильно?
Заранее спасибо!