【发布时间】:2012-03-06 19:36:42
【问题描述】:
我对设计如何路由我的请求感到有些困惑,由于某种原因,我现在无法进入我的应用程序中的注销路径:
ActionController::RoutingError (No route matches [GET] "/users/sign_out")
以下是与我的用户模型和设计相关的路线:
devise_for :users, :controllers => {:registrations => "registrations"}
devise_scope :user do
get '/settings' => 'registrations#edit'
end
定义该范围是否会阻止我的其他路由也正常工作?
更新
我不认为它应该是 GET 请求,因为我的链接看起来像:
<%= link_to "Sign out", destroy_user_session_path, :method => :delete %>
【问题讨论】:
-
应该是DELETE请求。如果你只在你的路线中留下 devise_for :users 会发生什么?
-
您的 javascript 是否抛出任何错误?实际上是不显眼的 javascript 将使它成为一个 DELETE http 调用。
-
您的 Devise 配置文件对以下项目有什么作用:
config.sign_out_via -
@jesse 你是对的,我需要包含
jquery-ujs才能工作。
标签: ruby-on-rails devise