gpt4 book ai didi

ruby-on-rails - rails 6 : link to destroy_user_session_path using GET instead of DELETE

转载 作者:行者123 更新时间:2023-12-04 04:09:29 24 4
gpt4 key购买 nike

我刚刚开始了一个简单的 Rails 6.0.3.1 项目。

我正在设置设计操作,但注销链接似乎不起作用。它正在执行 GET请求而不是 DELETE尽管我指定了方法:

- if user_signed_in?
= link_to 'Logout',
destroy_user_session_path,
class: 'button is-light',
method: :delete


点击链接产生:

Rails error message showing the GET request

控制台中没有错误:

no console errors on click

我的 app/javascript/packs/application.js看起来像这样:

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

因此 Rails ujs 应该拦截链接点击并执行 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

我尝试在其他 SO 线程上寻找解决方案,但没有找到有效的方法。有些人建议使用按钮而不是链接,但我想要链接而不是按钮。

问题发生在我通过 yarn 安装 Bulma CSS 框架后:

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' %>

我创建了一个 simple dummy app重现问题。

关于我在这里可能做错的任何建议?

提前致谢!

最佳答案

我最终找到了解决方案。

我创建了文件 app/javascript/stylesheets/application.scss我把这条线放在哪里:

@import '~bulma';

然后,在 app/javascript/stylesheets/application.js我添加了以下行:

import 'stylesheets/application'

似乎 webpacker 需要 application.js 文件来导入适当的 CSS 文件才能工作。

关于ruby-on-rails - rails 6 : link to destroy_user_session_path using GET instead of DELETE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62001309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com