小编Seb*_*pen的帖子

Rails UJS link_to迁移到Webpack后破坏动作无法正常工作

我有一个Rails / webpacker / stimulus项目。今天,我将资产管道迁移到了webpacker。除了一个细节,其他一切都很好。

Link_to按钮带有对destroy方法的调用,而直接指向show动作。而且remote:true标记不起作用。不会触发ajax:beforeSend操作,并且不再加载确认框。

<%= link_to sanitize("<i class='fa fa-trash'></i>"), dashboard_manager_dashboard_path(dashboard), remote: true, method: :delete, data: {
                            confirm: "sure?",
                            action: 'ajax:beforeSend->dm--dashboard#onBeforeDelete ajax:success->dm--dashboard#onDelete'
                        } %>
Run Code Online (Sandbox Code Playgroud)

我在Stackoverflow上发现了许多类似的情况,并且大多数人提到Rails UJS的加载不正确,这里似乎也是如此。但是,这些示例中的问题不使用webpack。

Stackoverflow上的一些帖子提到使用button_to而不是link_to。但这不是我想要的解决方案,我希望能够使用remote:true和ajax回调。

有人看到我的设置中的缺陷吗?在此先感谢您的任何建议!

Application.js:

import Rails from 'rails-ujs';
import Turbolinks from 'turbolinks';
import * as ActiveStorage from 'activestorage';

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

import "../src/import-jquery";
import 'bootstrap/dist/js/bootstrap';
import 'tempusdominus-bootstrap-4';
import '../src/bootstrap-select.js';
import '../src/custom_calender.js';
import '../src/functions.js';

import { Application } from "stimulus"
import { definitionsFromContext } from "stimulus/webpack-helpers"
const application = Application.start();
const context = require.context("controllers", true, …
Run Code Online (Sandbox Code Playgroud)

ruby webpack stimulusjs

6
推荐指数
1
解决办法
223
查看次数

标签 统计

ruby ×1

stimulusjs ×1

webpack ×1