【问题标题】:ActionCable not accessible in coffeescript在咖啡脚本中无法访问 ActionCable
【发布时间】:2016-08-23 21:01:04
【问题描述】:

我正在关注 DHH 关于 Rails 5 和动作电缆的教程,并且我已经完成了他所做的一切。 我在指向文件 app/assets/javascripts/cable.coffee 的 Chrome 控制台中有错误:

#= require cable
#= require_tree ./channels

@App ||= {}
App.cable = ActionCable.createConsumer()

我得到ActionCable is undefined 我试图要求 action_cable 而不是 cable,并移动文件,但似乎没有任何改变。可能值得注意的是,我从一个 rails 4 应用程序开始,然后将 rails gem 更改为

gem 'rails', '5.0.0.beta3'

并添加:

gem 'actioncable', '~> 5.0.0.beta3'

【问题讨论】:

    标签: ruby-on-rails coffeescript actioncable


    【解决方案1】:

    根据文档here,我相信您需要以下内容:

    # app/assets/javascripts/cable.coffee
    #= require action_cable
    
    @App = {}
    App.cable = ActionCable.createConsumer("ws://cable.example.com")
    

    此外,现在推荐的放置频道文件的位置似乎是 app/assets/javascripts/cable/subscriptions/

    如果这不起作用,那么创建一个新的 Rails 5 应用程序并比较初始化程序和 application.coffee 以确保一切正常,这可能不是一个坏主意。

    【讨论】:

    • 感谢您的回答。我这样做了,现在我得到“找不到类型为'application/javascript'的文件'action_cable'”。我确实重新启动了我的服务器。我还创建了一个新的 rails 5 应用程序进行比较,但找不到解决方案
    • 尝试从您的 Gemfile 中删除 gem 'actioncable', '~> 5.0.0.beta3',然后删除 bundle install。这不是必需的,因为它与 Rails 捆绑在一起。您可能想尝试运行rails app:update,这将使您可以选择覆盖或区分新的初始化程序/配置文件与您当前的文件,以确保一切都正确配置。另外,请确保您的 application.js 没有对名为 action_cable 的文件的任何引用。
    猜你喜欢
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2013-03-11
    • 1970-01-01
    • 2013-02-13
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多