尝试让Heroku的WebSocket教程使用Rails应用程序,但中间件没有加载。
重现的步骤:
faye-websocket
gem并运行bundle install
app/middleware
目录app/middleware/test_server.rb
require 'faye/websocket' class TestServer KEEPALIVE_TIME = 15 # in seconds def initialize(app) @app = app @clients = [] end def call(env) end end
config/application.rb
config.middleware.use TestServer
rails console
我看到以下错误:
config / application.rb:64:in'':未初始化的常量RackMiddleware :: Application :: TestServer(NameError)
如果我添加require 'test_server'
,我会看到以下错误:
config / application.rb:5:在`require':无法加载这样的文件 - test_server(LoadError)
我认为app/
中的目录会自动添加到Rails 3中。我做错了什么?
答案 0 :(得分:1)
看起来问题是TestServer必须引用config.middleware.use
调用。
这里的答案有所帮助:https://stackoverflow.com/a/16206347/3467
Heroku howto不正确,向他们发送评论以修复它。