我刚刚切换到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)