首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Rails 5 redirect_back在本地的表现不符合预期

Rails 5中的redirect_back方法用于将用户重定向到之前的页面。然而,在本地开发环境中,redirect_back的行为可能与预期不符。这是因为在本地开发环境中,Rails默认将redirect_back重定向到localhost:3000,而不是之前的页面。

为了解决这个问题,可以使用request.referer来获取之前的页面,并将其作为重定向目标。下面是一个示例代码:

代码语言:ruby
复制
def redirect_back_or_default(default)
  redirect_to(request.referer || default)
end

在上面的代码中,如果request.referer存在,则将用户重定向到之前的页面,否则将用户重定向到默认页面。

Rails 5中还提供了一个fallback_location选项,可以在redirect_back中指定一个默认的重定向地址。例如:

代码语言:ruby
复制
redirect_back(fallback_location: root_path)

这将在没有之前页面的情况下将用户重定向到根路径。

总结起来,redirect_back在本地的表现不符合预期,但可以通过使用request.refererfallback_location选项来解决这个问题。

推荐的腾讯云相关产品:腾讯云云服务器(CVM),腾讯云负载均衡(CLB),腾讯云对象存储(COS)。

  • 腾讯云云服务器(CVM):提供可扩展的云服务器实例,适用于各种应用场景。详情请参考:腾讯云云服务器(CVM)
  • 腾讯云负载均衡(CLB):实现流量分发,提高应用的可用性和负载能力。详情请参考:腾讯云负载均衡(CLB)
  • 腾讯云对象存储(COS):提供安全可靠的云端存储服务,适用于存储和处理各种类型的数据。详情请参考:腾讯云对象存储(COS)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

.NET平台系列16 .NET5Asp.Net Core 全球Web框架权威性能测试 Web Framework Benchmarks 中吊炸天表现

每个框架都在实际生产配置中运行。结果在云实例和物理硬件上捕获。测试实现主要是由社区贡献,所有源都可以GitHub存储库中使用。 用“框架”这个词来泛指平台、微框架和全栈框架。...2013年3月一篇博客文章中,我们发布了几个执行简单但有代表性任务Web应用程序框架性能比较结果:序列化JSON对象和查询数据库。从那时起,社区投入巨大。...由于迄今为止社区贡献,所涵盖框架数量已经相当大。如果您提交拉取请求,我们很乐意添加更多内容。 其他测试类型。 测试更多类型硬件。 此网站结果功能增强。...我们还希望这个项目尽可能透明,所以我们GitHub上发布了我们测试套件。 环境详细信息   这个项目测量两种常见部署场景性能:云实例和物理硬件。...Peak (rounds 9 through 12) Dell R720xd dual Intel Xeon E5-2660 v2(40个HT内核),32 GB内存;RAID中配备SSD数据库服务器

70310
  • “技术邪教” Ruby on Rails 之父再出激进言论引争议

    近日 Rails World 大会上,Ruby on Rails 之父、37signals 联合创始人兼首席技术官 DHH(David Heinemeier Hansson)发表了观点称,最快打包工具就是没有构建...拥有一种巧妙石器时代技术,可在 5 秒内自动推送更新。只需为其提供一个小型虚拟机即可,每月花费应该不会超过 5 美元。”...推特上,DHH 还展示了公司主站性能表现,他表示 HEY 主要应用运行 JavaScript 代码没有经过构建。...Rails 开发者 Niklas Häusele 表示,“我喜欢用‘No Build’方式进行本地开发。无需等待即可刷新,这就是最高生产力。...我甚至删除了 tailwindcss-rails 并将其替换为 tailwind CDN,以避免必须在本地运行任何内容。

    27810

    第三十二课 如何在Windows环境搭建REMIX本地环境,访问本地目录?1,摘要2,参考文档完成NODE.JS安装3,命令行安装REMIX IDE4,启动本地IDE5REMIX上访问本地文件夹

    1,摘要 《第十课 Solidity语言编辑器REMIX指导大全》文章详细介绍了使用REMIX IDE环境调试Solidity智能合约方法,其中没有介绍本地部署IDE环境,访问本地目录方法...本文重点: (1)本地WINDOWS 10环境安装NODE.JS环境; (2)本地安装REMIX IDE环境,可以本地直接访问编辑器; (3)安装REMIXD,可以访问本地目录; 2,参考文档完成...至此,本地IDE环境就搭建好了。...5REMIX上访问本地文件夹 5.1 带参数安装Python 安装 windows-build-tools,会同步安装完Python npm install --global --production...6,http://127.0.0.1 设置本地共享目录 1)以管理员身份打开CMD命令: 2) 设置本地共享目录 需要本地合约代码目录下启动remix-ide, Remix IDE

    6K41

    gitlab服务部署及使用

    workspace:工作区 12345678910111213141516171819202122232425262728293031 Remote远程仓库: 远程仓库内容可能被分布多个地点处于协作关系本地仓库修改...git add 先提交到暂存区,被git管理 workspace工作区: 程序员进行开发改动地方,是你当前看到,内容也是最新 平常我们开发就是拷贝远程仓库中分支,基于该分支进行开发,开发过程就是工作区操作... 总结: 任何对象都是工作区中诞生和修改 任何修改都是从进入index区才开始被版本控制 只有把修改代码提交到本地仓库,该修改才能在仓库中留下痕迹 与协助者分享本地修改,可以push到远程仓库来共享...  下面这张图很明确表现了他们关系 ?...:数据库 redis:缓存数据库 sidekiq:用于在后台执行队列任务 unicorn:Gitlab Rails应用是托管在这个服务器上面的 优点 git是分布式,svn不是 git分布式本地就可以用

    2.3K20

    自托管代码平台Gitlab | 搭建使用教程

    除了本地硬盘,您也可以挂载支持网络文件系统(NFS)协议卷。卷可能位于文件服务器、网络附加存储(NAS)设备、存储区域网络(SAN)或云提供商弹性块存储卷上。...2.3CPU CPU 需求取决于用户数量和预期工作负载,确切需求更多地取决于您工作负载。您工作负载受多重因素影响,不限于您用户活跃程度、您使用自动化程度、镜像、制品库大小和变更大小。...4 核 是推荐最小核数,支持多达 500 名用户 8 核支持多达 1000 名用户 2.4内存 内存需求取决于用户数量和预期工作负载,确切需求更多地取决于您工作负载。...sudo docker exec -it gitlab /bin/bash 然后用下面命令进入 到gitlabrails控制台 gitlab-rails console #这一步比较慢,大概1分钟左右...新建完成仓库以后,你可以通过HTTP协议clone至本地。 但是,如果你尝试使用SSH协议进行操作,多半会提示输入密码。 7.1.2方式一 这时需要我们配置中修改SSH端口。

    27110

    Gitlab安装部署及基础操作

    安装完成后出现上面的提示,按照提示修改配置文件中url地址为本地服务器地址 [root@gitlab tools]# vim /etc/gitlab/gitlab.rb external_url '...ECDSA key fingerprint is b7:9c:07:5c:a0:01:c3:00:50:f4:59:8e:e3:f5:f5:e2....暂存区 git commit -m "add README" #将暂存区文件提交到某一个版本保存下来,并加上注释 git push -u origin master #将本地更改提交到远程服务器...git 中clone过来时候,git不会对比本地和服务器文件,也就不会有冲突,建议确定完全覆盖本地时候用clone,不确定会不会有冲突时候用git pull,将远程服务器代码download...命令行测试成功,可以邮箱中查收 为用户添加一个邮箱 ? 点击增加,并登陆邮箱查看,点击确认即可增加邮箱 ? 忘记密码邮箱发送邮件测试 ? 查看邮箱信息 ?

    4.9K40

    如何使用本地 Docker 更好地开发?我们总结了这八条经验

    这里有一些可以优化本地 Docker 环境技巧。 Viget,Docker 已经成为本地开发不可或缺工具。...这并不是说本地使用 Docker 开发就没有缺点,但它带来便利远远超过了缺点。 随着时间推移,我们总结出了自己一套最佳实践,可以有效设置 Docker 开发环境。...请注意最后一点(“本地开发”)——如果你是为了部署而创建镜像,那么这些原则中大多数都不适用。...5 将临时东西放入命名卷中 上一点提到使用命名卷来提高性能,这里有另一个有用技巧:将保存只读文件目录放入命名卷中,阻止它们被同步回本地机器(这会带来很大性能开销),特别是 log 和 tmp...:/app - yarn:/app/node_modules 这样, Rails 开发服务器完全启动并运行之前,webpack-dev-server 是不会启动

    2.1K40

    Python风靡全宇宙,首要原因是它?

    Ruby受欢迎程度与Rails框架密切相关。 在那个年代,大多数自称为“Ruby程序员”其实更应该称自己为 “Rails程序员”。 而Python在学术界和少数不同行业已经相当完善。...Python中,与Rails最相近是Django,Django尽管Rails之前发布,但它受欢迎程度似乎远远落后于Rails。 ?...但实际上,Ruby流行度与Rails密切相关,而Django只代表了一个已经很活跃Python生态系统一小部分。事实也证明,“Web开发语言之战”重要性远低于人们预期。...提供这样一个API主要动机是:消除只读取时复制数据必要性,澄清缓冲区所有权转移语意,并将数据存储连续存储器中(即使多维数据结构情况下),其中读取访问速度非常快。...数据科学家们想寻找一种既具有表现力又快速语言(具有良好数值计算库支持启动),所有的这些需求都指向于Python 后来,就如我们看到那样,Python受到万千宠爱,一跃成为了最受欢迎编程语言。

    80870

    解密:Python风靡全宇宙,首要原因竟是它?

    Ruby受欢迎程度与Rails框架密切相关。 在那个年代,大多数自称为“Ruby程序员”其实更应该称自己为 “Rails程序员”。 而Python在学术界和少数不同行业已经相当完善。...Python中,与Rails最相近是Django,Django尽管Rails之前发布,但它受欢迎程度似乎远远落后于Rails。...但实际上,Ruby流行度与Rails密切相关,而Django只代表了一个已经很活跃Python生态系统一小部分。事实也证明,“Web开发语言之战”重要性远低于人们预期。...提供这样一个API主要动机是:消除只读取时复制数据必要性,澄清缓冲区所有权转移语意,并将数据存储连续存储器中(即使多维数据结构情况下),其中读取访问速度非常快。...数据科学家们想寻找一种既具有表现力又快速语言(具有良好数值计算库支持启动),所有的这些需求都指向于Python 后来,就如我们看到那样,Python受到万千宠爱,一跃成为了最受欢迎编程语言。

    65630

    Strikingly 团队2017技术展望

    这次变革让我们体会到了统一技术栈开发效率、团队协作和知识共享等方面带来提升。 实际合并过程是2016年5月开始,在此之前我们做了很久铺垫准备。...于是16年3月份,我们进入了第二阶段。 第二阶段:React Native 16年5月,我们开始使用 React Native 构建“上线了” iOS 应用。...要解决这问题,我们需要重新审视 Rails Web 应用开发中定位。Rails 只是一个 Web 框架,它不是一个应用开发框架,不能也不应该负责 Web 应用中领域相关部分。...还可以作为自动化测试spec来测试当前基础设施配置是否符合预期。...这些配置定义了我们所期望状态,而运行这些配置过程,则是不断地检测特定计算资源是否符合定义,如果不符合,则通过调用云平台API来操作使得该计算资源符合定义。

    2K00

    部署GitLab代码托管仓库

    缺少最大一个特征. 5、GIT内容完整性要优于SVN:GIT内容存储使用是SHA-1哈希算法.这能确保代码内容完整性,确保遇到磁盘故障和网络问题时降低对版本库破坏....大部分公司处理流程如下: PMgitlab创建任务,分配给开发人员. 开发人员领取任务后,本地使用git clone拉取代码库....开发人员完成之后,提交到本地仓库(git commit). 开发人员gitlab界面上申请分支合并请求(Merge request)....PMgitlab上查看提交和代码修改情况,确认无误后,确认将开发人员分支合并到主分支(master). 开发人员gitlab上Mark done确认开发完成,并关闭issue....(标准): 客户端上进行如下操作,将客户端文件上传到GitLab仓库.

    1.8K20

    GitLab技术选型为何如此不同:坚持用过气Web框架十多年、坚决不用微服务

    不过人气并不能直接说明语言质量差,一方面 Ruby on Rails(用 Ruby 写开源 Web 应用程序框架)仍是实现原型设计演示好方法,能帮助开发者几天之内更稳妥地构建起最小可行性产品,另一方面...凭借其扎实、支持元编程 Samlltalk 特性,再加上良好 Unix 集成效果,Ruby 证明了自己完全可以配合 Rails 之后成为那个正确答案。...这里部分原因可归功于 Rails 良好架构与平易近人之间找到了平衡。 “我们不需要微服务” 1971 年发表文章《关于将系统分解为模块时,所应遵循标准》中,David L....使用独立进程组织本地软件系统,再使用 REST 架构风格将各微服务组合起来,这样确实有助于通过操作系统强制划定模块边界。虽然这是种行之有效严格模块化实现方式,但对应成本也相当沉重。...Sid Sijbrandij 表示,虽然将 GitLab 构建成单体最符合项目预期,但对于具体结构取舍也绝不能太过教条。总之,架构要为需求服务,而非需求为架构服务。

    86120

    使用Capistrano,Nginx和PumaUbuntu 14.04上部署Rails应用程序

    本地计算机上打开终端。如果您没有本地计算机SSH密钥,也可以为其创建一个。...本地终端会话中: $ ssh-keygen -t rsa 将本地SSH密钥添加到服务器授权密钥文件中(请记住将端口号替换为您自定义端口号): $ cat ~/.ssh/id_rsa.pub |...ssh -p your_port_num deploy@your_server_ip 'cat >> ~/.ssh/authorized_keys' 第六步 - Rails应用程序中添加部署配置 本地计算机上...输入以下命令来捆绑您Rails应用程序: $ bundle 捆绑后,运行以下命令配置Capistrano: $ cap install 这将创建: Capfile Rails应用程序根目录中...第七步 - 部署Rails应用程序 如果您使用自己Rails应用程序,请提交您刚刚进行更改,并将它们推送到本地计算机远程: $ git add -A $ git commit -m "Set up

    5K40

    TW洞见〡Ruby Web服务器:这十五年

    坦率说,作为一门年轻计算机语言,Ruby最近二十年里发展并不算慢。但如果与坐拥豪门明星语言们相比,Ruby就颇显平民范儿,表现始终不温不火,批评胜于褒奖,下行多过上扬。...但是,Webrick内置HTTP Parser非常古老,文档缺失,性能低下且不易维护,功能单一且默认只支持单进程模式(但支持多线程,不过Rails中默认关闭了对Webrick多线程支持),根本无法满足产品环境中并发和日常维护需求...由于mod_ruby多个Apache进程中只能共享同一个Ruby解释器,意味着当同时运行多个Web应用(如Rails)时会发生冲突,存在安全隐患。...2 闻名天下 z2005年,David Heinemeier Hansson(DHH)发布了基于Ruby开发框架Ruby on RailsRails),聚光灯第一次聚焦Ruby身上。...但是业内普遍对Web服务器方案感到棘手,本地环境Webrick/产品环境FastCGI+通用Web服务器几乎成了标配,无论是开发、部署或维护都遇到不少困难,一些吃螃蟹的人遂把此视为Rails不如J2EE

    2K100

    群晖NAS安装gitlab

    下载镜像 docker->注册表->搜索gitlab 配置镜像 映像->选中镜像->启动 点击高级设置,弹出高级选项中,切换到卷页签,按照下面截图,设置目录。...这里需要添加对应文件夹到docker目录下,可以使用File Stationdocker目录下,创建gitlab目录。...然后gitlab目录下,分别创建logs,config,data来存储日志、配置和数据信息文件。 切换端口设置页签,设置一个本地端口,这里指定80容器端口对应本地端口10080。...当然也建议将其他本地端口[自动]改为指定端口,比如22端口对应本地端口改为10022之类,因为后续还要修改配置文件,让克隆地址可以正常显示端口,同时也避免自动获取而带来端口变化而导致访问问题。...这时候可以直接访问地址了IP:10080,不知道为什么,程序运行没问题 我访问时候不显示, 后来我反向代理哪里设置了一下 访问代理地址就没问题了!如图所示!

    2.3K20

    4个避免使用npm link理由

    不符合预期软链接删除 npm link是什么 npm link是一个用于开发时直接将本地包链接为依赖项一个命令行工具。...特别是多个 Node.js 版本情况下 会有预期之外二进制可执行文件安装 npm link第一步是将包安装到全局。...可能会认为 npm unlink a可以卸载,但它只会删除本地软链接,而不会删除全局安装二进制文件 卸载全局包和它二进制执行文件需要使用: $ npm uninstall --global a 不符合预期软链接删除...ls node_modules pkg-b 使用多个包进行链接时,npn link删除之前链接包通常是不符合预期。...这就会留下这个不符合预期可执行文件被可能被意外执行 使用npm install作为替代 npm link一种替代方法是使用指定包路径npm install $ npm install --no-save

    1.6K20

    如何在Ubuntu 18.04上使用rbenv安装Ruby on Rails

    libgdbm5 libgdbm-dev 下载依赖项后,您可以自行安装rbenv。...我们将使用此命令安装Rails。 安装gem时,安装过程会生成本地文档。...这可能会为每个gem安装过程增加大量时间,因此请通过创建一个包含配置设置以关闭此功能~/.gemrc文件来关闭本地文档生成: echo "gem: --no-document" > ~/.gemrc...通过rehash子命令,rbenv该目录中维护填充程序,以匹配服务器上每个已安装Ruby版本每个Ruby命令。...结论 本教程中,您安装了rbenv 、Ruby及Rails 。从此,您可以了解有关使这些环境更加强大更多信息。 想要了解更多关于Ubuntu开源信息教程,请前往腾讯云+社区学习更多知识。

    6.3K50
    领券