我正在工作一個基於較舊的軌道(不知道,如果這是問題)的基本軌道小型博客教程。我正在嘗試實現用戶註銷(終止用戶會話)。Rails4的方法::刪除錯誤的路線到[GET]
我有這個在我的表格:
<%= link_to 'Logout', session_path(current_user), method: :delete %>
和我耙路線表看起來不錯:
session DELETE /sessions/:id(.:format) sessions#destroy
但是當我測試本地服務器上,通過點擊「註銷」,我被給出這個錯誤:
No route matches [GET] "/sessions/1"
它確實不應該是一個[GET]
請求。我檢查了我包含了所有必要的javascript行和捆綁。什麼地方出了錯?
p.s.這裏是我的回購:https://github.com/lukexuanliu/CornellBlog
p.p.s.我的問題與這個非常相似:Routing Error No route matches [GET] "/microposts/304 - Deleting a Micropost - Michael Hartl's railstutorial.org Chapter 11
但他們的解決方案對我不起作用。此外,我的引導CSS是有點搞砸了...不知道,如果這導致了這個問題
在你的'routes.rb'中你有'resources:sessions,只有:[:new,:create,:destroy]',但是如果你將'current_user'傳遞給''session_path''不應該你的路由是嵌套的:'資源:用戶做資源:會話,只:[:new,:create,:destroy] end'? – mmichael 2014-09-19 01:06:53
如果我只有一個用戶進行測試,session_path(current_user)會被轉換爲/ sessions/1,這是因爲我沒有完全理解。我跟着教程,路線表看起來很好。 – user3527137 2014-09-19 02:05:08
奇怪。我克隆了你的回購協議,除了稍微調整你的導航欄,以便我可以看到鏈接,你的註銷鏈接似乎工作。 – 2014-09-19 02:39:07