我刚刚升级到 Webpacker
6.0.0.beta.5
出现了这个错误。
ActionView::Template::Error (undefined method `javascript_packs_with_chunks_tag' for #<ActionView::Base:0x0000000000fcf8>
看起来这个方法在最新的 Webpacker 版本中被删除了,因为
javascript_pack_tag
和 javascript_packs_with_chunks_tag
做了同样的事情。这是公关https://github.com/rails/webpacker/pull/2895
要解决这个问题,只需在所有文件中将
javascript_packs_with_chunks_tag
重命名为 javascript_pack_tag
就可以了。
出现此错误是因为
javascript_packs_with_chunks_tag
方法在 Webpacker 6.0.0.beta.5 中不可用。此方法在 Webpacker 5 中已弃用,取而代之的是 javascript_packs_tag
和 javascript_pack_tag
,并已在 Webpacker 6 中完全删除。
要解决此错误,您应该将应用程序代码中的任何
javascript_packs_with_chunks_tag
实例替换为 javascript_packs_tag
或 javascript_pack_tag
,具体取决于您的用例。
javascript_packs_tag
将包含当前环境中的所有包,而 javascript_pack_tag
将包含名称特定的包。例如,如果你的 webpacker 配置中有一个名为 application 的包,你可以将它包含在 Rails 视图中:
<%= javascript_pack_tag 'application' %>
或者,您可以包含当前环境中的所有包:
<%= javascript_packs_tag %>
好吧,完成必要的更改后,重新启动 Rails 服务器,错误应该得到解决。