ERROR Errno :: ECONNRESET:由对等方重置连接

ran*_*guy 18 mongomapper devise ruby-on-rails-3

gem 'rails', '3.0.0'
gem 'devise'
gem 'bson_ext', '>= 1.0.7'
gem 'bson', '>= 1.0.7'
gem 'mongo_mapper', :branch => 'rails3', :git => 'http://github.com/jnunemaker/mongomapper.git'
gem 'devise-mongo_mapper', :git => 'git://github.com/collectiveidea/devise-mongo_mapper'
Run Code Online (Sandbox Code Playgroud)

通过上面的设置,我在请求时收到以下错误:

Started GET "/users/sign_out" for 127.0.0.1 at 2010-09-27 13:16:30 +0300
  Processing by Devise::SessionsController#destroy as HTML
Redirected to http://localhost:3000/
Completed 302 Found in 19ms
[2010-09-27 13:16:31] ERROR Errno::ECONNRESET: Connection reset by peer
    /usr/local/ruby/lib/ruby/1.9.1/webrick/httpserver.rb:56:in `eof?'
    /usr/local/ruby/lib/ruby/1.9.1/webrick/httpserver.rb:56:in `run'
    /usr/local/ruby/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'


Started GET "/users/edit" for 127.0.0.1 at 2010-09-27 13:16:35 +0300
  Processing by Devise::RegistrationsController#edit as HTML
Completed   in 16ms
[2010-09-27 13:16:35] ERROR Errno::ECONNRESET: Connection reset by peer
    /usr/local/ruby/lib/ruby/1.9.1/webrick/httpserver.rb:56:in `eof?'
    /usr/local/ruby/lib/ruby/1.9.1/webrick/httpserver.rb:56:in `run'
    /usr/local/ruby/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'
Run Code Online (Sandbox Code Playgroud)

用户模型:

class User
  include MongoMapper::Document
  plugin MongoMapper::Devise
  devise :registerable, :database_authenticatable, :recoverable
end
Run Code Online (Sandbox Code Playgroud)

想法?

rah*_*til 12

WebRick已被Thin取代.

做以下工作对我有用:

的Gemfile:

gem 'thin' 
Run Code Online (Sandbox Code Playgroud)

现在做 bundle install


Mat*_*ith 4

我的快速猜测是,这看起来像是您的会话出现问题,并且 protected_from_forgery 正在启动。

我也遇到了类似的问题,几天来我的头撞在墙上,结果是我将整个对象分配给会话对象,而不仅仅是 id。快速说明一下,非 GET 请求是触发 protected_from_forgery 的请求。