【问题标题】:Messaging with Faye : ReferenceError: Faye is not defined与 Faye 的消息传递:ReferenceError: Faye 未定义
【发布时间】:2015-01-19 05:45:08
【问题描述】:

我在我的 Rails 应用程序中使用 Faye websockets,就像 Railcasts # 260 一样。 一切都很好,但现在我遇到了类似

的错误

ReferenceError: Faye 未定义

这里

$(function() {
    var faye = new Faye.Client('http://localhost:9292/faye');
    faye.subscribe("/games/messages/new", function(data) {
        eval(data)
    });
});

我开始我的 faye 喜欢:rackup faye.ru -s thin -E production

faye.ru

require 'faye'
Faye::WebSocket.load_adapter('thin')
faye_server = Faye::RackAdapter.new(:mount => '/faye', :timeout => 45)
run faye_server

我不知道发生了什么,我唯一改变的是安装 rails-unicorn gem 并从它默认启动。

更新: http://localhost:9292/ 说:

确定您不是在寻找 /faye 吗?

如果我添加 /faye -

错误的请求。

如果我添加 /faye.js -

Faye的js脚本

更新:现在它只是工作,不知道为什么,但它是。谢谢大家。

【问题讨论】:

  • 为什么是的,你在哪里定义Faye?它是否包含在相关文件上方的 JS 文件中?
  • localhost:9292/faye.js" %>
  • 用 firebug 检查说 faye.js 确实包含
  • 这一切都没有回答我的问题。 Faye 在那里定义了吗?
  • 是的,它是某种奇怪的东西。但现在它可以工作了

标签: ruby-on-rails ruby faye


【解决方案1】:

我建议您在生产环境中的Faye.Client 初始化中使用实际的ip 而不是localhost(当然为此使用request.host 助手):

var faye = new Faye.Client("http://#{ request.host }:9292/faye");

【讨论】:

  • @KyleKorver curl your_ip:9292 说什么?
  • 确定您不是在寻找 /faye 吗?如果我添加 /faye - 错误请求。如果我添加 /faye.js - Faye 的 js 脚本。
  • 它是正确的,奇怪的,对不起,但是我不知道
  • 可能与浏览器设置有关吗?但我同时使用:chrome 和 firefox。
猜你喜欢
  • 2013-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-22
相关资源
最近更新 更多