【发布时间】:2014-03-28 19:21:34
【问题描述】:
我正在为我的 Rails 应用程序设计 iPhone 视图,我使用 devise gem 进行身份验证,但是当我在 iphone 视图中注销时,它不起作用,我检查了日志,我发现了这个:
Started GET "/users/sign_out" for 127.0.0.1 at 2011-12-05 17:06:24 +0800
Processing by UsersController#show as HTML
Parameters: {"id"=>"sign_out"}
我知道GET 是问题所在,但是当我在我的桌面浏览器(如 Chrome 和 Safari)中进行测试时,注销操作是通过DELETE 方法:
Started DELETE "/users/sign_out" for 127.0.0.1 at 2011-12-05 17:14:58 +0800
Processing by Devise::SessionsController#destroy as HTML
这是我的路线配置:
devise_for :users
resources :users, :only => :show
和注销链接:
<%= link_to 'Logout', destroy_user_session_path, :method => :delete %>
我只是想知道为什么注销链接在 Mobile Safari 上不起作用?
非常感谢。
【问题讨论】:
-
这个问题解决了:我不包括jquery和jquery_ujs,jquery_ujs倾向于支持“从超链接发出非GET请求”。
标签: iphone ruby-on-rails devise