Dah*_*han 5 ruby-on-rails devise
设计不会重定向到提供的网址after_sign_in_path_for.它实际上调用我的自定义after_sign_in_path_for.它会计算我希望它计算的url,但之后不会发生重定向.它保留在sign_in页面上,但实际登录不会发生.
我一直在尝试几个版本的设计:
gem 'devise'
Run Code Online (Sandbox Code Playgroud)
和
gem 'devise', :git => 'git://github.com/plataformatec/devise.git'
Run Code Online (Sandbox Code Playgroud)
结果相同.
我的习惯 after_sign_in_path_for
def after_sign_in_path_for(resource)
str = stored_location_for(resource) || stored_location || root_path
debugger
str
end
def stored_location
session.delete(:return_to)
end
def store_location
session[:return_to] = request.fullpath
end
Run Code Online (Sandbox Code Playgroud)
正在被调用,它提供了正确的URL,str完全按照我的预期给出.调试器此时停止...
但是在cont页面停留之后sign_in,然而登录仍在进行.
我相信这不是我的代码问题.这可能是一个设计问题.能有它工作的任何人都可以与我分享Devise的确切版本,它与你合作.
如果没有看到您的服务器日志,很难说。如果after_sign_in_path_for被调用并生成预期的 URL,则留下一种可能性:
# app/controllers/devise/sessions_controller.rb\n# POST /resource/sign_in\ndef create\n resource = warden.authenticate!(auth_options)\n set_flash_message(:notice, :signed_in) if is_navigational_format?\n sign_in(resource_name, resource)\n respond_with resource, :location => after_sign_in_path_for(resource)\nend\nRun Code Online (Sandbox Code Playgroud)\n\n该respond_with方法将根据资源的状态明智地采取行动。由于它new再次渲染模板,因此它表明存在某种验证错误或其他登录问题。
查看服务器日志。这是使用我的应用程序成功登录和随后的重定向after_sign_in_path_for:
Started POST "/admins/sign_in" for 127.0.0.1 at 2012-10-18 09:59:27 -0700\n[INFO] [127.0.0.1] [2012-10-18 09:59:27 -0700] Processing by Devise::SessionsController#create as HTML\n[INFO] [127.0.0.1] [2012-10-18 09:59:27 -0700] Parameters: {"utf8"=>"\xe2\x9c\x93", "authenticity_token"=>"DGjs2b3k8BIi62KWCn3u5kx7YxxyR03xkERcgH/ilr0=", "admin"=>{"email"=>"me@mydomain.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Sign in"}\n[DEBUG] [127.0.0.1] [2012-10-18 09:59:27 -0700] Admin Load (2.1ms) SELECT "admins".* FROM "admins" WHERE "admins"."email" = \'me@mydomain.com\' LIMIT 1\n[DEBUG] [127.0.0.1] [2012-10-18 09:59:27 -0700] (1.0ms) BEGIN\n[DEBUG] [127.0.0.1] [2012-10-18 09:59:27 -0700] (0.9ms) UPDATE "admins" SET "last_sign_in_at" = \'2012-10-18 16:53:19.428068\', "current_sign_in_at" = \'2012-10-18 16:59:28.076180\', "last_sign_in_ip" = \'127.0.0.1\', "sign_in_count" = 3, "updated_at" = \'2012-10-18 16:59:28.078677\' WHERE "admins"."id" = 1\n[DEBUG] [127.0.0.1] [2012-10-18 09:59:27 -0700] (9.3ms) COMMIT\n[INFO] [127.0.0.1] [2012-10-18 09:59:27 -0700] Redirected to http://localhost:3001/admin/users\n[INFO] [127.0.0.1] [2012-10-18 09:59:27 -0700] Completed 302 Found in 97ms (ActiveRecord: 0.0ms)\n[INFO] [127.0.0.1] [2012-10-18 09:59:28 -0700] \n\nStarted GET "/admin/users" for 127.0.0.1 at 2012-10-18 09:59:28 -0700\n[INFO] [127.0.0.1] [2012-10-18 09:59:28 -0700] Processing by UsersController#index as HTML\n[DEBUG] [127.0.0.1] [2012-10-18 09:59:28 -0700] Admin Load (1.2ms) SELECT "admins".* FROM "admins" WHERE "admins"."id" = 1 LIMIT 1\n[DEBUG] [127.0.0.1] [2012-10-18 09:59:28 -0700] User Load (1.0ms) SELECT "users".* FROM "users" \n[INFO] [127.0.0.1] [2012-10-18 09:59:28 -0700] Rendered users/index.html.erb within layouts/application (1.0ms)\n[INFO] [127.0.0.1] [2012-10-18 09:59:28 -0700] Completed 200 OK in 22ms (Views: 16.5ms | ActiveRecord: 2.2ms)\nRun Code Online (Sandbox Code Playgroud)\n\n您看到那个重定向了吗?
\n| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |