我剛剛看過Railscasts pro第250集,我不明白一件事。我說說這行:輔助方法中的參數
<%= link_to "Log out", session_path("whatever"), method: 'delete' %>
作者說,這樣的事情:
session path helper method can expect an id to be passed through here
我的控制器動作:
def destroy
session[:user_id] = nil
redirect_to root_path, notice: "Looged out"
end
在我route.rb文件:
resources :sessions
爲什麼我不能通過<%= link_to "Log out", session_path(), method: 'delete' %>
?當我這樣做時,我收到一個錯誤:
No route matches {:action=>"show", :controller=>"sessions"} missing required keys: [:id]
爲什麼需要id在這裏?
畢竟我沒有在任何地方使用這個參數。
謝謝。我在'route.rb'中使用'resources:sessions' – Jensky 2014-10-06 07:33:35
你可以添加一個新的路由或者只是傳遞任何東西(例如'whatever')到'session_path()'中以滿足參數要求。 – 2014-10-06 07:38:18