【发布时间】:2014-01-16 03:21:21
【问题描述】:
我的 Rails 版本:
rails -v
Rails 4.0.2
我使用 Devise for users 模型。
退出链接是:
<%= link_to 'Sign out', destroy_user_session_path, method: :delete %>
当我点击链接时,我得到了这个错误:
AbstractController::ActionNotFound at /users/sign_out
The action 'show' could not be found for UsersController
通过执行 rake 路由,我得到了这个:
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
在 development.log 中登录
Started GET "/users/sign_out" for 127.0.0.1 at 2013-12-28 20:45:06 +0000
AbstractController::ActionNotFound - The action 'show' could not be found for UsersController:
actionpack (4.0.2) lib/abstract_controller/base.rb:131:in `process'
actionpack (4.0.2) lib/abstract_controller/rendering.rb:44:in `process'
actionpack (4.0.2) lib/action_controller/metal.rb:195:in `dispatch'
actionpack (4.0.2) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.0.2) lib/action_controller/metal.rb:231:in `block in action'
actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:80:in `dispatch'
actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:48:in `call'
actionpack (4.0.2) lib/action_dispatch/journey/router.rb:71:in `block in call'
actionpack (4.0.2) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.0.2) lib/action_dispatch/routing/route_set.rb:680:in `call'
我不明白为什么它会搜索表演动作。只是为了好玩,我在用户控制器和显示视图中创建了显示操作。然后它所做的就是重定向到 show 动作。不知道为什么。
如果您需要任何其他信息,请告诉我。 有什么线索吗?
【问题讨论】:
标签: ruby-on-rails devise ruby-on-rails-4