我將我的 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當我檢查網站時,根本不再觸發,并且日志或網路部分沒有錯誤。
我覺得我在這里遺漏了一些重要的東西,但我不知道是什么。
uj5u.com熱心網友回復:
要將 rails-ujs 添加到 Rails 7,您應該執行以下步驟:
- 固定它,讓應用程式知道要使用哪個包。在 bash 中輸入:
./bin/importmap pin @rails/ujs
現在您的config/importmap.rb檔案中有如下內容:
pin "@rails/ujs", to: "https://ga.jspm.io/npm:@rails/[email protected]/lib/assets/compiled/rails-ujs.js"
- 現在將@rails/ujs 包含到您的javascript 中。在檔案javascript/controllers/application.js 中添加:
import Rails from '@rails/ujs';
Rails.start();
- 重啟你的應用服務器
uj5u.com熱心網友回復:
除了@ruslan-vallev 的回答,請注意它們需要共存,并且您很可能會使用渦輪增壓。 請參閱有關提交處理程式的此鏈接
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/419429.html
標籤:
上一篇:如何驗證不可用期間
