我一直在有条理地研究《使用Rails进行敏捷Web开发》一书。到目前为止,在我使用session控制器进行注销的开发之前,还没有问题。我只是想让destroy方法在会话控制器中工作。这是我所拥有的:
sessions_controller.rb
def destroy
session[:user_id] = nil
redirect_to store_url, :notice => "Logged out"
end
routes.rb
controller :sessions do
get 'login' => :new
post 'login' => :create
delete 'logout' => :destroy
end
我重置服务器,并且可以尝试使用localhost:3000 / login登录,但如果尝试localhost:3000 / logout,则会收到以下路由错误:没有路由匹配“ / logout”
非常感谢您的帮助,因为我一直在通过网络进行挖掘以寻找答案。
最佳答案
我相信
delete 'logout' => :destroy
应该
get 'logout' => :destroy
要么
post 'logout' => :destroy
取决于您如何处理行为。您最有可能想要
get
。关于ruby-on-rails - session Controller 中的Rails 3注销路由,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6182328/