编辑:我自己解决了这个问题.如果有人有更好或更优雅的解决方案,请在此发布,我将选择作为答案.
我使用jQuery Mobile和mobile_fu为rails3应用程序设置移动视图.
Devise用于身份验证,它在桌面视图中完美运行.
我的问题是,在移动视图中成功登录后,当应用程序重定向到根页面时,应用程序会再次重定向到sign_in表单.登录是正确的,如果我只是重新加载页面,那么正确地重定向到root.顺序如下:
Desktop login
Request
POST /users/sign_in HTTP/1.1 Host: localhost:3000 User-Agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:7.0.1) Gecko/20100101
Firefox/7.0.1 Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding:
gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive Referer: 07001
Cookie:
_PMG_session=BAh7CkkiCmZsYXNoBjoGRUZJQzolQWN0aW9uRGlzcGF0Y2g6OkZsYXNoOjpGbGFzaEhhc2h7BjoKYWxlcnRJIkJOZWNlc2l0YXMgaW5pY2lhciBzZXNpw7NuIGNvbiB0dSBjdWVudGEgcGFyYSBwb2RlciBjb250aW51YXIuBjsAVAY6CkB1c2VkbzoIU2V0BjoKQGhhc2h7BjsHVEkiD3Nlc3Npb25faWQGOwBGIiViZjlkZDc4NzczMmFmMGViNjcyOWRkNzAxNWJhMzQ5YkkiEG1vYmlsZV92aWV3BjsARkZJIhN1c2VyX3JldHVybl90bwY7AEZJIgYvBjsARkkiEF9jc3JmX3Rva2VuBjsARkkiMWEyZW9oamFKT2tsWEZrbzZxc3lNenRhWTVEUk5XaHVUdm9iV3J3aFhFK1E9BjsARg%3D%3D–6623519d539757216a03d212a4e20647e8a5029c;
jstree_open=%231%2C%234%2C%235; jstree_load=
Response
HTTP/1.1 302 Found Location: 07002 Content-Type:
text/html; charset=utf-8 Cache-Control: no-cache X-UA-Compatible:
IE=Edge X-Runtime: 1.650766 Server: WEBrick/1.3.1
(Ruby/1.9.2/2011-02-18) Date: Mon,31 Oct 2011 08:58:24 GMT
Content-Length: 88 Connection: Keep-Alive Set-Cookie:
_PMG_session=BAh7CkkiCmZsYXNoBjoGRUZJQzolQWN0aW9uRGlzcGF0Y2g6OkZsYXNoOjpGbGFzaEhhc2h7BjoLbm90aWNlSSIoSGFzIGluaWNpYWRvIHNlc2nDs24gY29ycmVjdGFtZW50ZS4GOwBUBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsASSIQbW9iaWxlX3ZpZXcGOwBGRkkiEF9jc3JmX3Rva2VuBjsARkkiMWEyZW9oamFKT2tsWEZrbzZxc3lNenRhWTVEUk5XaHVUdm9iV3J3aFhFK1E9BjsARkkiGXdhcmRlbi51c2VyLnVzZXIua2V5BjsAVFsISSIJVXNlcgY7AEZbBmkGSSIiJDJhJDEwJEZQL20vZ29KU2FGUFZ0bmRzb0VZeS4GOwBUSSIPc2Vzc2lvbl9pZAY7AEYiJTA1NzI5YjFjOTMyZDdlMjk3YjEwYWQ5NWU3ZDJkZjYx–889ba65c483c3757b6aa47ffc2e187ac27a04dbe;
path=/; HttpOnly
Mobile login
Request
POST /users/sign_in HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X;
en-us) AppleWebKit/528.18 (KHTML,like Gecko) Version/4.0 Mobile/7A341
Safari/528.16
Accept: text/html,/; q=0.01
Accept-Language: es-es,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,*;q=0.7
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: 07003
Content-Length: 195
Cookie: jstree_open=%231%2C%234%2C%235; jstree_load=;
_PMG_session=BAh7CkkiCmZsYXNoBjoGRUZJQzolQWN0aW9uRGlzcGF0Y2g6OkZsYXNoOjpGbGFzaEhhc2h7BjoKYWxlcnRJIkJOZWNlc2l0YXMgaW5pY2lhciBzZXNpw7NuIGNvbiB0dSBjdWVudGEgcGFyYSBwb2RlciBjb250aW51YXIuBjsAVAY6CkB1c2VkbzoIU2V0BjoKQGhhc2h7BjsHVEkiD3Nlc3Npb25faWQGOwBGIiUwMjY0ZGFkODY2MGY3YmE5ZWY4NmQzYmRmODUyNDUxOEkiEG1vYmlsZV92aWV3BjsARlRJIhN1c2VyX3JldHVybl90bwY7AEZJIgYvBjsARkkiEF9jc3JmX3Rva2VuBjsARkkiMTN5am1kaUhZcWpEZTAyclNNZ05ZNU5aZjA4bG5mamxCZHR6UmlVVHpkNFk9BjsARg%3D%3D–a6c9dbd6b27ac1b43193b4cba901b8862046dacf
Pragma: no-cache Cache-Control: no-cache
Response
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Etag: “22b69d3da00b31c705b66d95aa8a32de”
Cache-Control: max-age=0,private,must-revalidate
X-UA-Compatible: IE=Edge
X-Runtime: 1.317610
Server: WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18)
Date: Mon,31 Oct 2011 09:06:47 GMT
Content-Length: 2915
Connection: Keep-Alive
Set-Cookie:
_PMG_session=BAh7C0kiCmZsYXNoBjoGRUZJQzolQWN0aW9uRGlzcGF0Y2g6OkZsYXNoOjpGbGFzaEhhc2h7BjoLbm90aWNlSSIoSGFzIGluaWNpYWRvIHNlc2nDs24gY29ycmVjdGFtZW50ZS4GOwBUBjoKQHVzZWRvOghTZXQGOgpAaGFzaHsASSIQbW9iaWxlX3ZpZXcGOwBGVEkiEF9jc3JmX3Rva2VuBjsARkkiMTN5am1kaUhZcWpEZTAyclNNZ05ZNU5aZjA4bG5mamxCZHR6UmlVVHpkNFk9BjsARkkiCWxpbmUGOwBGSSIGNQY7AFRJIhl3YXJkZW4udXNlci51c2VyLmtleQY7AFRbCEkiCVVzZXIGOwBGWwZpBkkiIiQyYSQxMCRGUC9tL2dvSlNhRlBWdG5kc29FWXkuBjsAVEkiD3Nlc3Npb25faWQGOwBGIiVhYWNkYzNlNjNhODU2ZWVjNmY1YmYzODEwNTk3NDA5Zg%3D%3D–31e22835ee0e428f80e0cf3f3ce5bd9fc8134d20;
path=/; HttpOnly