草庐IT

redirections

全部标签

ruby-on-rails - rails : How do I write a spec for a route that does a redirect?

我在我的Rails项目中使用Omniauth,我想将“/auth/facebook”隐藏在“/login”路由后面。其实我写了一个路由:match"/login",:to=>redirect("/auth/facebook"),:as=>:login这确实有效,即指向login_path的链接将重定向到/auth/facebook。但是,我如何编写(RSpec)规范来测试此路由(特别是重定向)?请注意,/login不是应用程序中定义的实际操作或方法。提前致谢! 最佳答案 因为您没有提供有关环境的任何详细信息,以下示例假设您使用的是r

路由添加next({ ...to, replace: true })导致的Redirected when goin from xx to xx 错误问题

在使用router.addRoutes动态添加路由后,需要手动添加next({...to,replace:true})进行重定向重新加载才可以识别到新添加的路由。但是由于next({...to,replace:true})中的to解构,会导致当前路由和前一个路由不一致,vue会抛出重定向的错误。解决方案:在router/index.js中添加如下代码(推荐)constrouterPush=Router.prototype.pushRouter.prototype.push=functionpush(location){returnrouterPush.call(this,location).c

路由添加next({ ...to, replace: true })导致的Redirected when goin from xx to xx 错误问题

在使用router.addRoutes动态添加路由后,需要手动添加next({...to,replace:true})进行重定向重新加载才可以识别到新添加的路由。但是由于next({...to,replace:true})中的to解构,会导致当前路由和前一个路由不一致,vue会抛出重定向的错误。解决方案:在router/index.js中添加如下代码(推荐)constrouterPush=Router.prototype.pushRouter.prototype.push=functionpush(location){returnrouterPush.call(this,location).c