2012-01-11 59 views
8

當我試圖刪除自己的帳戶在我的Rails應用程序我得到的Rails +設計:試圖刪除用戶帳戶

沒有路由匹配「/用戶」

筆者認爲:

<p>We hate to see you go. <%= link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete %>.</p> 

我的路線:

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"} 

我錯過了什麼嗎?

+0

resource_nam e =用戶。我只是嘗試傳遞current_user(這是一個用戶對象),我得到了相同的結果。 – Ryan 2012-01-11 03:39:56

+0

不要緊,然後......刪除我的評論:-) – Mischa 2012-01-11 03:41:01

+0

你可以發佈你的實際routes.rb文件? – jstim 2012-01-11 04:08:36

回答

7

根據您的耙路輸出,你需要使用user_registration_path幫手,而不是僅僅registration_path:

<p> 
    We hate to see you go. 
    <%= link_to "Cancel my account", user_registration_path(resource_name), :confirm => "Are you sure?", :method => :delete %>. 
</p> 

並請仔細檢查,如果該鏈接與DELETE方法觸發(如果適當的js文件包括)

+0

這給了我/users.user在我的URL而不是/用戶。思考? – Ryan 2012-01-13 02:19:09

+0

我的所有JavaScript文件都包含在內。 – Ryan 2012-01-13 02:36:25

+0

是的,你說得對,我在rake路由中被user_registration弄糊塗了。做所有其他(尤其是更新用戶註冊)是否正常工作? – alony 2012-01-13 07:34:42

0

如果您正在使用設計只是做

<%= link_to "My Account", edit_user_registration_path %> 
0
<p> 
    Unhappy? 
    <%= link_to "Cancel my account", 
     registration_path(current_user), 
     data: { confirm: "Are you sure?" }, 
     method: :delete %> 
</p>