Ruby on rails rails authlogic:为什么要调用UserSessionControllerDestroy两次?
下面我将使用authlogic实现身份验证。在我尝试注销之前,一切都很顺利。我总是收到以下错误消息: nil:NilClass的未定义方法“destroy” 对于此代码:Ruby on rails rails authlogic:为什么要调用UserSessionControllerDestroy两次?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,下面我将使用authlogic实现身份验证。在我尝试注销之前,一切都很顺利。我总是收到以下错误消息: nil:NilClass的未定义方法“destroy” 对于此代码: # DELETE /user_sessions/1 # DELETE /user_sessions/1.xml def destroy @user_session = UserSession.find @user_session.destroy respond_to do |format| format.
# DELETE /user_sessions/1
# DELETE /user_sessions/1.xml
def destroy
@user_session = UserSession.find
@user_session.destroy
respond_to do |format|
format.html { redirect_to(:users, :notice => 'Goodbye!') }
format.xml { head :ok }
end
end
使用调试器,我发现当我单击注销时,destroy会被调用两次。所以我添加了一个检查@user_session是否为nil,并且一切正常。问题是:我在rails方面的经验不足,无法找出为什么两次调用destroy。根据本教程,情况不应如此
下面,我将附上一些可能相关的信息:
_header.html.erb:这是注销的链接
<% if current_user %>
<%= link_to "Edit Profile", edit_user_path(current_user.id)%>
<%= link_to "Logout", :logout%>
<% else %>
<%= link_to "Register", new_user_path%> |
<%= link_to "Login", :login %>
<% end %>
嗯,是不是get不是正确的方法?脚手架代码中的注释提到删除
在这里,作为一大块,这两个来自毁灭的回溯。我宁愿将其附加为文本文件,但我不知道如何:s
Started GET "/logout" for 127.0.0.1 at 2014-05-04 12:29:29 +0200
Processing by UserSessionsController#destroy as HTML
User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 4 LIMIT 1
/home/markus/projects/notenschrank/app/controllers/user_sessions_controller.rb:25
@user_session && @user_session.destroy
[20, 29] in /home/markus/projects/notenschrank/app/controllers/user_sessions_controller.rb
20 # DELETE /user_sessions/1
21 # DELETE /user_sessions/1.json
22 def destroy
23 @user_session = UserSession.find
24 debugger
=> 25 @user_session && @user_session.destroy
26
27 respond_to do |format|
28 format.html { redirect_to :users, notice: 'Bye!' }
29 format.json { head :no_content }
(rdb:114) where
--> #0 UserSessionsController.destroy
at line /home/markus/projects/notenschrank/app/controllers/user_sessions_controller.rb:25
#1 ActionController::ImplicitRender.send_action(method#String)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/implicit_render.rb:4
#2 AbstractController::Base.process_action(method_name#String)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/abstract_controller/base.rb:189
#3 ActionController::Rendering.process_action
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/rendering.rb:10
#4 UserSessionsController._run__3910799261545475014__process_action__callbacks
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/callbacks.rb:18
#5 ActiveSupport::Callbacks.run_callbacks(kind#Symbol)
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/callbacks.rb:80
#6 AbstractController::Callbacks.process_action
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/abstract_controller/callbacks.rb:17
#7 ActionController::Rescue.process_action
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/rescue.rb:29
#8 ActiveSupport::Notifications::Instrumenter.instrument(name#String)
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/notifications/instrumenter.rb:31
#9 ActiveSupport::Notifications.instrument(name#String)
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/notifications.rb:159
#10 ActionController::Instrumentation.process_action
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/instrumentation.rb:30
#11 ActionController::ParamsWrapper.process_action
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/params_wrapper.rb:245
#12 ActiveRecord::Railties::ControllerRuntime.process_action(action#String)
at line /var/lib/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/railties/controller_runtime.rb:18
#13 AbstractController::Base.process(action#String)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/abstract_controller/base.rb:136
#14 AbstractController::Rendering.process
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/abstract_controller/rendering.rb:44
#15 ActionController::Metal.dispatch(name#String, request#ActionDispatch::Request,...)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal.rb:195
#16 ActionController::RackDelegation.dispatch(action#String, request#ActionDispatch::Request,...)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/rack_delegation.rb:13
#17 ActionDispatch::Routing::RouteSet::Dispatcher.dispatch(controller#Class, action#String,...)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:231
#18 ActionDispatch::Routing::RouteSet::Dispatcher.dispatch(controller#Class, action#String,...)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:80
#19 ActionDispatch::Routing::RouteSet::Dispatcher.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:48
#20 ActionDispatch::Journey::Router.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/journey/router.rb:71
#21 ActionDispatch::Routing::RouteSet.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:655
#22 RequestStore::Middleware.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/request_store-1.0.5/lib/request_store/middleware.rb:9
#23 Rack::ETag.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/etag.rb:23
#24 Rack::ConditionalGet.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/conditionalget.rb:25
#25 Rack::Head.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11
#26 ActionDispatch::ParamsParser.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/params_parser.rb:27
#27 ActionDispatch::Flash.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/flash.rb:241
#28 Rack::Session::Abstract::ID.context(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:225
#29 Rack::Session::Abstract::ID.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:220
#30 ActionDispatch::Cookies.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/cookies.rb:486
#31 ActiveRecord::QueryCache.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/query_cache.rb:36
#32 ActiveRecord::ConnectionAdapters::ConnectionManagement.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:626
#33 ActiveRecord::Migration::CheckPending.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/migration.rb:369
#34 ActionDispatch::Callbacks._run__3212301349710016163__call__callbacks
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/callbacks.rb:29
#35 ActiveSupport::Callbacks.run_callbacks(kind#Symbol)
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/callbacks.rb:80
#36 ActionDispatch::Callbacks.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/callbacks.rb:27
#37 ActionDispatch::Reloader.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/reloader.rb:64
#38 ActionDispatch::RemoteIp.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/remote_ip.rb:76
#39 ActionDispatch::DebugExceptions.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/debug_exceptions.rb:17
#40 ActionDispatch::ShowExceptions.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/show_exceptions.rb:30
#41 Rails::Rack::Logger.call_app(request#ActionDispatch::Request, env#Hash)
at line /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/rack/logger.rb:38
#42 ActiveSupport::TaggedLogging::Formatter.tagged
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/tagged_logging.rb:21
#43 ActiveSupport::TaggedLogging.tagged
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/tagged_logging.rb:67
#44 Rails::Rack::Logger.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/rack/logger.rb:21
#45 ActionDispatch::RequestId.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/request_id.rb:21
#46 Rack::MethodOverride.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21
#47 Rack::Runtime.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/runtime.rb:17
#48 ActiveSupport::Cache::Strategy::LocalCache::Middleware.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/cache/strategy/local_cache.rb:83
#49 Rack::Lock.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/lock.rb:17
#50 ActionDispatch::Static.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/static.rb:64
#51 Rails::Engine.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/engine.rb:511
#52 Rails::Application.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/application.rb:97
#53 Rack::Lock.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/lock.rb:17
#54 Rack::ContentLength.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/content_length.rb:14
#55 Rails::Rack::Debugger.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/rack/debugger.rb:20
#56 Rack::Handler::WEBrick.service(req#WEBrick::HTTPRequest, res#WEBrick::HTTPResponse,...)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60
#57 WEBrick::HTTPServer.service(req#WEBrick::HTTPRequest, res#WEBrick::HTTPResponse,...)
at line /usr/lib/ruby/1.9.1/webrick/httpserver.rb:138
#58 WEBrick::HTTPServer.run(sock#TCPSocket)
at line /usr/lib/ruby/1.9.1/webrick/httpserver.rb:94
#59 at line /usr/lib/ruby/1.9.1/webrick/server.rb:191
(rdb:114) cont
Redirected to http://localhost:3000/users
Completed 302 Found in 46402ms (ActiveRecord: 0.3ms)
Started GET "/users" for 127.0.0.1 at 2014-05-04 12:30:16 +0200
Processing by UsersController#index as HTML
User Load (0.3ms) SELECT `users`.* FROM `users`
Rendered users/index.html.erb within layouts/application (6.4ms)
Rendered shared/_header.html.erb (3.8ms)
Rendered shared/_sidebar.html.erb (1.1ms)
Rendered shared/_footer.html.erb (0.2ms)
Completed 200 OK in 37ms (Views: 35.2ms | ActiveRecord: 0.3ms)
Started GET "/logout" for 127.0.0.1 at 2014-05-04 12:30:16 +0200
Processing by UserSessionsController#destroy as HTML
/home/markus/projects/notenschrank/app/controllers/user_sessions_controller.rb:25
@user_session && @user_session.destroy
[20, 29] in /home/markus/projects/notenschrank/app/controllers/user_sessions_controller.rb
20 # DELETE /user_sessions/1
21 # DELETE /user_sessions/1.json
22 def destroy
23 @user_session = UserSession.find
24 debugger
=> 25 @user_session && @user_session.destroy
26
27 respond_to do |format|
28 format.html { redirect_to :users, notice: 'Bye!' }
29 format.json { head :no_content }
(rdb:114) where
--> #0 UserSessionsController.destroy
at line /home/markus/projects/notenschrank/app/controllers/user_sessions_controller.rb:25
#1 ActionController::ImplicitRender.send_action(method#String)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/implicit_render.rb:4
#2 AbstractController::Base.process_action(method_name#String)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/abstract_controller/base.rb:189
#3 ActionController::Rendering.process_action
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/rendering.rb:10
#4 UserSessionsController._run__3910799261545475014__process_action__callbacks
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/callbacks.rb:18
#5 ActiveSupport::Callbacks.run_callbacks(kind#Symbol)
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/callbacks.rb:80
#6 AbstractController::Callbacks.process_action
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/abstract_controller/callbacks.rb:17
#7 ActionController::Rescue.process_action
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/rescue.rb:29
#8 ActiveSupport::Notifications::Instrumenter.instrument(name#String)
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/notifications/instrumenter.rb:31
#9 ActiveSupport::Notifications.instrument(name#String)
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/notifications.rb:159
#10 ActionController::Instrumentation.process_action
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/instrumentation.rb:30
#11 ActionController::ParamsWrapper.process_action
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/params_wrapper.rb:245
#12 ActiveRecord::Railties::ControllerRuntime.process_action(action#String)
at line /var/lib/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/railties/controller_runtime.rb:18
#13 AbstractController::Base.process(action#String)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/abstract_controller/base.rb:136
#14 AbstractController::Rendering.process
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/abstract_controller/rendering.rb:44
#15 ActionController::Metal.dispatch(name#String, request#ActionDispatch::Request,...)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal.rb:195
#16 ActionController::RackDelegation.dispatch(action#String, request#ActionDispatch::Request,...)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_controller/metal/rack_delegation.rb:13
#17 ActionDispatch::Routing::RouteSet::Dispatcher.dispatch(controller#Class, action#String,...)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:231
#18 ActionDispatch::Routing::RouteSet::Dispatcher.dispatch(controller#Class, action#String,...)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:80
#19 ActionDispatch::Routing::RouteSet::Dispatcher.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:48
#20 ActionDispatch::Journey::Router.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/journey/router.rb:71
#21 ActionDispatch::Routing::RouteSet.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/routing/route_set.rb:655
#22 RequestStore::Middleware.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/request_store-1.0.5/lib/request_store/middleware.rb:9
#23 Rack::ETag.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/etag.rb:23
#24 Rack::ConditionalGet.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/conditionalget.rb:25
#25 Rack::Head.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11
#26 ActionDispatch::ParamsParser.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/params_parser.rb:27
#27 ActionDispatch::Flash.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/flash.rb:241
#28 Rack::Session::Abstract::ID.context(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:225
#29 Rack::Session::Abstract::ID.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:220
#30 ActionDispatch::Cookies.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/cookies.rb:486
#31 ActiveRecord::QueryCache.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/query_cache.rb:36
#32 ActiveRecord::ConnectionAdapters::ConnectionManagement.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:626
#33 ActiveRecord::Migration::CheckPending.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/activerecord-4.0.0/lib/active_record/migration.rb:369
#34 ActionDispatch::Callbacks._run__3212301349710016163__call__callbacks
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/callbacks.rb:29
#35 ActiveSupport::Callbacks.run_callbacks(kind#Symbol)
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/callbacks.rb:80
#36 ActionDispatch::Callbacks.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/callbacks.rb:27
#37 ActionDispatch::Reloader.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/reloader.rb:64
#38 ActionDispatch::RemoteIp.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/remote_ip.rb:76
#39 ActionDispatch::DebugExceptions.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/debug_exceptions.rb:17
#40 ActionDispatch::ShowExceptions.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/show_exceptions.rb:30
#41 Rails::Rack::Logger.call_app(request#ActionDispatch::Request, env#Hash)
at line /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/rack/logger.rb:38
#42 ActiveSupport::TaggedLogging::Formatter.tagged
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/tagged_logging.rb:21
#43 ActiveSupport::TaggedLogging.tagged
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/tagged_logging.rb:67
#44 Rails::Rack::Logger.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/rack/logger.rb:21
#45 ActionDispatch::RequestId.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/request_id.rb:21
#46 Rack::MethodOverride.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21
#47 Rack::Runtime.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/runtime.rb:17
#48 ActiveSupport::Cache::Strategy::LocalCache::Middleware.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/activesupport-4.0.0/lib/active_support/cache/strategy/local_cache.rb:83
#49 Rack::Lock.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/lock.rb:17
#50 ActionDispatch::Static.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/static.rb:64
#51 Rails::Engine.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/engine.rb:511
#52 Rails::Application.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/application.rb:97
#53 Rack::Lock.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/lock.rb:17
#54 Rack::ContentLength.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/content_length.rb:14
#55 Rails::Rack::Debugger.call(env#Hash)
at line /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/rack/debugger.rb:20
#56 Rack::Handler::WEBrick.service(req#WEBrick::HTTPRequest, res#WEBrick::HTTPResponse,...)
at line /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60
#57 WEBrick::HTTPServer.service(req#WEBrick::HTTPRequest, res#WEBrick::HTTPResponse,...)
at line /usr/lib/ruby/1.9.1/webrick/httpserver.rb:138
#58 WEBrick::HTTPServer.run(sock#TCPSocket)
at line /usr/lib/ruby/1.9.1/webrick/httpserver.rb:94
#59 at line /usr/lib/ruby/1.9.1/webrick/server.rb:191
以及软件版本:
% rails --version
Rails 4.0.0
% ruby --version
ruby 2.0.0p457 (2014-03-03) [x86_64-linux-gnu]
% bundle show authlogic
/var/lib/gems/1.9.1/gems/authlogic-3.4.1
谢谢你的帮助
编辑:这是UsersControllerindex的代码:
class UsersController < ApplicationController
before_action :set_user, only: [:show, :edit, :update, :destroy]
# GET /users
# GET /users.json
def index
@users = User.all
end
看起来你只是按了两次按钮。里面没有任何东西表明“按一个按钮会调用两次动作”。这两个请求完全独立,相隔一分钟。您能否共享UsersControllerindex操作的代码。另外,如果您已经在UsersController或ApplicationController中定义了任何回调,即在UsersController或ApplicationController中定义了任何回调之前或之后的回调,那么也可以共享它们。Sevensacat,我肯定没有在每次尝试此操作时按两次按钮……Kirti Thorat,我添加了UsersController索引的代码。UsersController或ApplicationController中没有过滤器。我只是用firefox而不是chromium尝试了这个,我该怎么说?对于firefox,GET/logout只调用一次,这是应该的。世界跆拳道联盟???
class UsersController < ApplicationController
before_action :set_user, only: [:show, :edit, :update, :destroy]
# GET /users
# GET /users.json
def index
@users = User.all
end