我将我的Rails应用程序升级到了Rails 7。我知道在Rails 7中,Turbolinks和Rails UJS实际上被Stimulus和Turbo的Hotwire组合所替代,但我想知道是否仍然可以使用UJS,如果可以,为什么它不起作用?
我未能正常工作的方法如下:
submit(event) {
this.errorTarget.classList.add("hidden")
Rails.fire(this.formTarget, "submit")
console.log('hi')
}
控制台日志有效。当我点击一个元素时,使用这段代码可以使它更改,但现在它不再更改。
Rails.fire
不再触发,检查网站时,日志或网络部分没有错误信息。我感觉我在这里缺少一些关键的东西,但我不知道是什么。
./bin/importmap pin @rails/ujs@7
将其固定到版本 7,否则你可能会在当前加载 @rails/ujs@6。 - nyi./bin/importmap pin @rails/ujs --download
。这将在您的config/importmap.rb文件中添加一个条目,其内容如下:pin "@rails/ujs", to: "@rails--ujs.js"
。 - Tedi