尝试启动rails服务器时出现请求web认证错误



我正在尝试将请求web服务器作为机架应用程序挂载,按照railscast请求教程将其添加到路由文件:

mount Resque::Server, :at => "/resque"

当我启动rails服务器时,我得到这个错误消息:

/Users/rick/.rvm/gems/ruby-1.9.2-p180/bundler/gems/authlogic-a087ad0cba3c/lib/authlogic/controller_adapters/sinatra_adapter.rb:50:in `included': undefined method `before' for Sinatra::Request:Class (NoMethodError)

看起来和认证有关?

有谁知道这是什么以及如何修复它吗?

我在使用authlogic和sinatra时遇到过同样的问题。如果声明了Sinatra, authlogic将混合实现模块(参见lib/authlogic/controller_adapters/sinatra_adapter.rb)。当包含实现时,它尝试在Sinatra::Request类上调用私有方法:before。:before方法是用Sinatra::Delegator添加的。

长话短说-问题已经消失后,我删除了旧的authlogic gem (2.1.6)因此,答案是使用最新的authlogic版本。

最新更新