在带有devise gem的Rails 4中,覆盖after_sign_in_path_for方法可能会无效的原因是,该方法可能被其他地方的代码或者devise gem内部的代码所覆盖或修改。
为了确保覆盖after_sign_in_path_for方法生效,可以按照以下步骤进行操作:
class CustomSessionsController < Devise::SessionsController
def after_sign_in_path_for(resource)
# 在这里编写自定义的重定向逻辑
# 返回你想要用户登录后跳转的路径
end
end
devise_for :users, controllers: { sessions: 'custom_sessions' }
class CustomSessionsController < Devise::SessionsController
def after_sign_in_path_for(resource)
# 在这里编写自定义的重定向逻辑
# 返回你想要用户登录后跳转的路径
super(resource)
end
end
通过以上步骤,你可以自定义after_sign_in_path_for方法,并确保其生效。在自定义方法中,你可以编写任何你想要的重定向逻辑,返回你想要用户登录后跳转的路径。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云