ActionController::RoutingErrorstimulus-loading.js importmap-rails

dan*_*ant 6 ruby-on-rails stimulusjs ruby-on-rails-6

我正在使用带有 @hotwired/stimulus 和 importmap 的 Rails 6.1。

我在开发环境中收到此错误。

ActionController::RoutingError (No route matches [GET] "/assets/stimulus-loading.js")
Run Code Online (Sandbox Code Playgroud)

导入映射.rb:

pin "application"
pin "@hotwired/stimulus", to: "stimulus.js"
pin "@hotwired/stimulus-loading", to: "stimulus-loading.js"
pin_all_from "app/javascript/controllers", under: "controllers"
pin "@hotwired/turbo-rails", to: "turbo.js"
Run Code Online (Sandbox Code Playgroud)

临时解决办法是设置激励加载预编译文件:

pin "application"
pin "@hotwired/stimulus", to: "stimulus.js"    
pin "@hotwired/stimulus-loading", to: "/assets/stimulus-loading-1fc59770fb1654500044afd3f5f6d7d00800e5be36746d55b94a2963a7a228aa.js"
pin_all_from "app/javascript/controllers", under: "controllers"
pin "@hotwired/turbo-rails", to: "turbo.js"
Run Code Online (Sandbox Code Playgroud)

唯一失败的“pin”是stimulus-loading.js。为什么?我已经关注了https://github.com/hotwired/stimulus-rails 非常欢迎任何帮助、想法或评论。谢谢你的时间!

宝石:

'ruby' '2.6.8'
'rails', '~> 6.1'
'importmap-rails'
'stimulus-rails'
'turbo-rails'
Run Code Online (Sandbox Code Playgroud)

小智 0

看来这为我解决了问题。尝试将以下子句添加到 config/environnement/development.rb 中:

 config.assets.debug = true
Run Code Online (Sandbox Code Playgroud)