如何修复警告:“弃用:action_cable.js 已重命名为 actioncable.js – 请在 Rails 8 之前更新您的参考”? (Rails 7.0.4)

问题描述 投票:0回答:2

我有一个使用 React 作为前端的 Ruby on Rails 单页应用程序,自从我们从 Rails 6.1 升级到 Rails 7.0 以来,警告 “DEPRECATION:action_cable.js 已重命名为 actioncable.js – 请更新您的Rails 8 之前的参考” 出现在应用程序的几乎每个页面的浏览器控制台上,除了静态视图(没有表单等),例如电子邮件和主页。Warning on the browser console

我尝试检查我的 Gemfile 以确保它们是最新的,运行

bundle update
希望问题是由过时的 gem 引起的,但警告仍然存在。我检查了项目文件夹,没有“action_cable.js”或“actioncable.js”文件,代码的任何部分也没有对这些文件/路径的任何引用。

有人知道如何解决这个警告吗?我找不到任何有关如何执行此操作的信息,也找不到遇到相同问题的其他人。

这是我第一次在这里发帖,所以如果有任何信息遗漏,我会非常乐意分享!

ruby-on-rails ruby actioncable
2个回答
5
投票

在我的

app/assets/javascripts/cable.js
文件中,有一个对 require
action_cable
的引用(这假设您正在寻找
action_cable.js
。我相信这个文件位于
actioncable
gem 中,这就是为什么您找不到它。

像这样在 require 注释中进行以下更改应该可以修复它:

// Action Cable provides the framework to deal with WebSockets in Rails.
// You can generate new channels where WebSocket features live using the rails generate channel command.
//
//  CHANGE THIS this require from action_cable to actioncable 
//= require actioncable
//= require_self
//= require_tree ./channels

您可能需要像这样重建您的 javascript 资源:

rake assets:clean && rake assets:precompile

甚至可能还需要重新启动服务器。


0
投票

这个解决方案也帮助我解决了这个问题。

将 //= require action_cable 替换为 //= require actioncable

© www.soinside.com 2019 - 2024. All rights reserved.