我一直在有条不紊地阅读《Rails 敏捷 Web 开发》一书。到目前为止没有任何问题,直到我遇到使用 session Controller 进行注销的开发。我只是想让 destroy 方法在 session Controller 中工作。这是我所拥有的:
sessions_controller.rb
def destroy
session[:user_id] = nil
redirect_to store_url, :notice => "Logged out"
end
路线.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/