我已经设置了我的 Faye 服务器,与我的 rails 服务器一起运行,就像本教程告诉我的那样:http://net.tutsplus.com/tutorials/ruby/how-to-use-faye-as-a-real-time-push-server-in-rails/
没有奇怪的行为,直到我取消注释那行
var client = new Faye.Client('http://localhost:9292/faye');
然后Firebug给了我这个问题标题中的错误。 访问 localhost:9292/faye 和/faye.js 给了我我所期望的,并且(显然)引用该.js文件的javascript_include_tag没有任何问题。
我必须使用捆绑执行,当我启动 faye 时,根据此错误消息:
$ rackup ./config.ru -E production -s thin -p 9292
/Users/newcreation/.rvm/gems/ruby-1.9.3-p0@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:31:in ``block in setup': You have already activated rack 1.4.1, but your Gemfile requires rack 1.3.0. Using bundle exec may solve this. (Gem::LoadError)
我的 config.ru 如下所示:
require 'rubygems'
require 'bundler'
Bundler.require
require 'faye'
require File.expand_path('../config/initializers/faye_token.rb', __FILE__)
faye_server = Faye::RackAdapter.new(:mount => '/faye', :timeout => 45)
run faye_server
有什么想法吗?
谢谢
显然,您至少需要 0.7 版来支持 websockets。 http://blog.jcoglan.com/2011/11/28/announcing-faye-websocket-a-standards-compliant-websocket-library/对我来说,这意味着更新红宝石并重新运行捆绑安装。 我还需要更改我的 .ru 文件以包含以下内容:
Faye::WebSocket.load_adapter('thin')