我想,如果在用户登录后,它会自动重定向到以前的位置,但这似乎永远不会发生,它总是会重定向回根位置.从阅读有关设计的文档看来,这个功能似乎只是起作用.我是以某种方式错误地使用它和/或我如何强制它存储位置和重定向无论如何?
authentication = UserToken.find_by_provider_and_uid(omniauth['provider'],omniauth['uid']) if authentication flash[:notice] = I18n.t "devise.omniauth_callbacks.success",:kind => omniauth['provider'] sign_in_and_redirect(:user,authentication.user) else
解决方法
滚动到
this Google group page的底部并查看被覆盖的’stored_location_for’设计方法.我的application_controller中有一个改编版本,如下所示:
def stored_location_for(resource) if current_user && params[:redirect_to] flash[:notice] = "Congratulations,you're signed up!" return params[:redirect_to] end super( resource ) end
这应该让你通过传入’redirect_to’参数手动创建位置.