[英]Rails UJS not firing with Rails 7
我將我的 Rails 應用程序升級到 Rails 7。我知道 Turbolinks 和 Rails UJS 實際上已被 Rails 7 中 Stimulus 和 Turbo 的 Hotwire 組合取代,但我想知道我是否仍然可以使用 UJS,如果可以,為什么不能在職的?
我的不起作用的方法如下所示:
submit(event) {
this.errorTarget.classList.add("hidden")
Rails.fire(this.formTarget, "submit")
console.log('hi')
}
console.log 有效。 當我點擊一個元素時,它曾經用這個代碼改變,但現在它不再改變了。 Rails.fire
不再觸發,當我檢查網站時,日志或網絡部分沒有錯誤。
我覺得我在這里遺漏了一些重要的東西,但我不知道是什么。
要將 rails-ujs 添加到 Rails 7,您應該執行以下步驟:
./bin/importmap pin @rails/ujs
現在您的config/importmap.rb文件中有如下內容:
pin "@rails/ujs", to: "https://ga.jspm.io/npm:@rails/ujs@7.0.1/lib/assets/compiled/rails-ujs.js"
import Rails from '@rails/ujs';
Rails.start();
除了@ruslan-vallev 的回答,請注意它們需要共存,並且您很可能會使用渦輪增壓。 請參閱有關提交處理程序的此鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.