我在localhost和prod上看到了这个
ActionController :: RoutingError(没有路由与[GET]“ / assets / toastr.js.map”匹配):
我尝试将清单文件中的toastr.js.map包括在内:祝您好运。还尝试将文件重命名为toastr.map.js-立即开始在控制台中引发js错误。
有没有办法自动生成地图文件或忽略它们?
答案 0 :(得分:1)
我最近遇到了类似的问题。我解决问题的方法是进入清单文件(例如public/assets/.sprockets-manifest-[md5hash].json
,找到资产文件的逻辑名称,然后使用这些逻辑名称而不是绝对路径。
就我而言,解决方法是从/assets/
中删除javascript_include_tag
前缀。
尤其是在我的html文件中,我替换了该文件...
= javascript_include_tag "/assets/admin/events/index.js"
...与此...
= javascript_include_tag "admin/events/index.js"
...以及重新编译的资产。这似乎对我有用。
这里是我找到此解决方案的线程的引用:
Rails 5 + Heroku: Assets are not loaded in production, but works in localhost