最近照著 Ruby on Rails Tutorial 做练习,遇到了一些无法理解的疑问:
书里实现 sign out 功能的方法如下:
这是 view 的 sign out 按钮,signout_path
对应的是 sessions#destroy
:
<%= link_to "Sign out", signout_path, method: "delete" %>
sessions_controller 的 destroy 方法:
def destroy
sign_out
redirect_to root_path
end
这是在 helper 实现的 sign_out
方法:
def sign_out
self.current_user = nil
cookies.delete(:remember_token)
end
我的疑问是,重做的时候发现自己 view 里少了:
method: "delete"
但是 sign in 和 sign out 仍然运作良好,那我不晓得为何书上要加上这段代码呢?