Ruby 如何路由和删除设计注册?

Ruby 如何路由和删除设计注册?,ruby,ruby-on-rails-3,devise,authentication,Ruby,Ruby On Rails 3,Devise,Authentication,我已经聘请Desive作为rails web应用程序的用户身份验证宝石 使用此预生成的行: <p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete %>.</p> Myroutes.rb具有: devise_for :users 我的rake路由产生

我已经聘请Desive作为rails web应用程序的用户身份验证宝石

使用此预生成的行:

<p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete %>.</p>
My
routes.rb
具有:

devise_for :users
我的
rake路由
产生:

      new_user_session GET    /users/sign_in(.:format)            {:action=>"new", :controller=>"devise/sessions"}
          user_session POST   /users/sign_in(.:format)            {:action=>"create", :controller=>"devise/sessions"}
  destroy_user_session GET    /users/sign_out(.:format)           {:action=>"destroy", :controller=>"devise/sessions"}
         user_password POST   /users/password(.:format)           {:action=>"create", :controller=>"devise/passwords"}
     new_user_password GET    /users/password/new(.:format)       {:action=>"new", :controller=>"devise/passwords"}
    edit_user_password GET    /users/password/edit(.:format)      {:action=>"edit", :controller=>"devise/passwords"}
                       PUT    /users/password(.:format)           {:action=>"update", :controller=>"devise/passwords"}
     user_registration POST   /users(.:format)                    {:action=>"create", :controller=>"devise/registrations"}
 new_user_registration GET    /users/sign_up(.:format)            {:action=>"new", :controller=>"devise/registrations"}
edit_user_registration GET    /users/edit(.:format)               {:action=>"edit", :controller=>"devise/registrations"}
                       PUT    /users(.:format)                    {:action=>"update", :controller=>"devise/registrations"}
                       DELETE /users(.:format)                    {:action=>"destroy", :controller=>"devise/registrations"}
     user_confirmation POST   /users/confirmation(.:format)       {:action=>"create", :controller=>"devise/confirmations"}
 new_user_confirmation GET    /users/confirmation/new(.:format)   {:action=>"new", :controller=>"devise/confirmations"}
                       GET    /users/confirmation(.:format)       {:action=>"show", :controller=>"devise/confirmations"}

我在这里遗漏了什么?

请考虑以下事实,即在路线中:

 DELETE /users(.:format) {:action=>"destroy", :controller=>"devise/registrations"}
所以GET请求不会被认为是正确的路由。尝试以下方法:

<% form_for @user, :html => { :method => 'delete' } do |f| %>
    <%= submit_tag "destroy him" %>
<% end %>
{:method=>'delete'}do | f |%>
在routes.rb中-执行此操作

devise_scope :user do
    get "delete_user", :to => "devise/registrations#destroy", :as => :edit_user_registration
end

将此行包括在routes.rb中:

devise_scope :user 
    delete "sign out" => "devise/session#destroy"

但是我没有使用任何GET请求(如果我在这里出错,请更正我)。另外,我真的应该删除注册吗?顺便说一句,在使用你的线索进行了一些研究之后,我得到了以下结论:这个:最后的答案是:
devise_scope :user 
    delete "sign out" => "devise/session#destroy"