相关疑难解决方法(0)

在JS模块中使用Rails-UJS(带有webpacker的Rails 6)

我刚刚切换到Rails 6(6.0.0.rc1),它默认将Webpacker gem用于Javascript资产以及Rails-UJS。我想在某些模块中使用Rails UJS,以便通过以下功能提交表单:

const form = document.querySelector("form")
Rails.fire(form, "submit")
Run Code Online (Sandbox Code Playgroud)

在安装了Webpacker的以前的Rails版本中,该Rails引用似乎在我的模块中“全局”可用,但是现在我在调用Rails.fire… 时得到此引用

ReferenceError: Rails is not defined
Run Code Online (Sandbox Code Playgroud)

我怎样才能让Rails@rails/ujs提供给特定的或我所有的模块?

在我的设置下面...

app / javascript / controllers / form_controller.js

import { Controller } from "stimulus"

export default class extends Controller {
  // ...
  submit() {
    const form = this.element
    Rails.fire(form, "submit")
  }
  // ...
}
Run Code Online (Sandbox Code Playgroud)

app / javascript / controllers.js

// Load all the controllers within this directory and all subdirectories. 
// Controller files …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails webpack webpacker rails-ujs

14
推荐指数
3
解决办法
1793
查看次数

标签 统计

rails-ujs ×1

ruby-on-rails ×1

webpack ×1

webpacker ×1