【发布时间】:2011-08-04 18:11:40
【问题描述】:
问题:简而言之,当我尝试将注销链接安装到我的应用程序时,它无法正常工作。这是我能想到的尽可能多的上下文(如果你想要别的,请戳我)......
我在 haml 视图中得到了这个:
= link_to("Logout", destroy_user_session_path, :method => :delete)
它在视图中生成:
<a href="/users/sign_out" data-method="delete" rel="nofollow">Logout</a>
我验证了在我的 config/initializers/devise.rb 我有这个设置未注释且正确:
config.sign_out_via = :delete
我验证了以下路线:
destroy_user_session DELETE /users/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"}
我的 routes.rb 中也有一些诡计,我怀疑这与我的问题有关:
devise_for :users, :controllers => {:sessions => "devise/sessions", :registrations => "users"}
resources :users
最后一点是因为我想在自己的控制器中管理(编辑、创建和删除)用户。
我得到的错误信息如下:
ActiveRecord::RecordNotFound in UsersController#show
Couldn't find User with ID=sign_out
Rails.root: /home/jaydel/projects/mbsquared-projects/Wilson-Goldrick
app/controllers/users_controller.rb:16:in `show'
在我的服务器日志中,我看到了这个请求:
Started GET "/users/sign_out" for 127.0.0.1 at 2011-08-04 13:08:51 -0500
Processing by UsersController#show as HTML
Parameters: {"id"=>"sign_out"}
有人有什么想法吗?
【问题讨论】:
标签: ruby-on-rails devise