Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >Ruby on Rails -在routes.rb中将参数传递到301重定向

Ruby on Rails -在routes.rb中将参数传递到301重定向
EN

Stack Overflow用户
提问于 2012-05-30 11:25:55
回答 1查看 3.2K关注 0票数 7

我想改变我现有的‘游戏’路由在routes.rb内,但由于搜索引擎优化,我还需要设置301重定向旧链接。

我的旧路由:

代码语言:javascript
代码运行次数:0
复制
match 'games/:permalink/:id/(:page)' => 'games#show'

新路由:

代码语言:javascript
代码运行次数:0
复制
match 'gierki/:permalink/(:page)' => 'games#show'

下面是我尝试做的重定向:

代码语言:javascript
代码运行次数:0
复制
match 'games/:permalink/:id/(:page)' => redirect {|params| "/gierki/#{params[:permalink]}" + params[:page].nil? ? "" : "/#{params[:page]}" }

上面的重定向不起作用,下面是一个错误:

代码语言:javascript
代码运行次数:0
复制
wrong number of arguments (1 for 2)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-30 11:48:19

试着这样做:

代码语言:javascript
代码运行次数:0
复制
match 'games/:permalink/:id/(:page)' => redirect {|params,request| "/gierki/#{params[:permalink]}" + params[:page].nil? ? "" : "/#{params[:page]}" }

看看它能不能用。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10815349

复制
相关文章
Ruby On Rails 4 hello world,Ruby On Rails上手
有机会再试一试Rails了,仅仅是原来接触的是2,如今已然变成了4,似乎如今的安装比原来会快些。。
全栈程序员站长
2022/07/12
2.5K0
Ruby On Rails 4 hello world,Ruby On Rails上手
在 ubuntu 11.10 下安装 Ruby on Rails
安装常用到组件 安装 rvm bash < <(curl -s https://rvm.beginrescueend.com/install/rvm) gedit ~/.bashrc [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* source ~/.bashrc type rvm | head -1 6.执行 r
零式的天空
2022/03/02
5720
Ruby on Rails 基础(7)
Note: bundle install 过程中有一个警告,让我们不要使用 root,这样会让其它用户无法操作此应用,其实还有一定安全隐患,这里为图方便,只为了解功能就不去讲究这些了,生产环境下要非常注意 Don’t run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root user
franket
2021/11/25
1K0
Ruby on Rails 基础(9)
报错:There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError)
franket
2021/11/25
9440
Ruby on Rails 基础(6)
没有创建成功,但是反馈结果却是成功 (说明这是一批命令,最后一个反馈结果正常),并且生成一个文件目录
franket
2021/11/25
1.7K0
Ruby on Rails 基础(2)
RVM (Ruby Version Manager) 是一个 CLI 工具,可以用来对 ruby 的多个版本进行安装,隔离和管理
franket
2021/11/25
8490
Ruby on Rails 基础(1)
这两条编码哲学可以算是历代猴子们的智慧结晶,核心目标只有一个,最大化的减少代码规模,明确核心逻辑,而这样的好处是多多的(编码效率高,Debug也快)
franket
2021/11/25
1.2K0
Ruby on Rails 基础(3)
查看可用ruby版本 [root@h202 ruby]# rvm list known -bash: rvm: command not found [root@h202 ruby]# su - root [root@h202 ~]# cd ruby/ [root@h202 ruby]# rvm list known # MRI Rubies [ruby-]1.8.6[-p420] [ruby-]1.8.7[-head] # security released on head [ruby-]1.9.1[-p
franket
2021/11/25
1.2K0
Ruby on Rails 基础(4)
安装Rails 检查环境 检查以下三个软件,确保已经安装 [root@h202 ruby]# ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux] [root@h202 ruby]# gem -v 2.5.1 [root@h202 ruby]# sqlite3 --version 3.6.20 [root@h202 ruby]# ---- 替换安装源 如果不替换源,会很慢,或者根本没法获取包,因为有墙 [root@h202 rub
franket
2021/11/25
1.2K0
Ruby on Rails 基础(1)
这两条编码哲学可以算是历代猴子们的智慧结晶,核心目标只有一个,最大化的减少代码规模,明确核心逻辑,而这样的好处是多多的(编码效率高,Debug也快)
franket
2021/11/25
1.2K0
Ruby on Rails 基础(8)
文件/文件夹 作用 app/ 存放程序的控制器、模型、视图、帮助方法、邮件和静态资源文件。本文主要关注的是这个文件夹。 bin/ 存放运行程序的 rails 脚本,以及其他用来部署或运行程序的脚本。 config/ 设置程序的路由,数据库等。详情参阅 “设置 Rails 程序” 一文。 config.ru 基于 Rack 服务器的程序设置,用来启动程序。 db/ 存放当前数据库的模式,以及数据库迁移文件。 Gemfile, Gemfile.lock 这两个文件用来指定程序所需的 gem 依赖件,用于 Bun
franket
2021/11/25
1.9K0
Ruby on Rails 基础(11)
启动浏览器,可以进行访问 ---- 命令汇总 gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 curl -sSL https://get.rvm.io | bash -s stable rvm list known rvm list rvm install 2.3 ruby -v gem -v sqlite3 --version gem source -l time
franket
2021/11/25
1K0
Ruby on Rails 基础(1)
这两条编码哲学可以算是历代猴子们的智慧结晶,核心目标只有一个,最大化的减少代码规模,明确核心逻辑,而这样的好处是多多的(编码效率高,Debug也快)
franket
2021/11/25
6410
使用rvm在Mac中安装ruby和rails
MacOS默认安装的是ruby 1.8.7,如果你想使用ruby 1.9.2的话,除了在官网下载源码编译安装外,可以使用rvm来协助安装。
EltonZheng
2021/01/22
3.2K0
在Debian 9上使用Apache安装Ruby on Rails
Ruby on Rails是一个服务器端Web应用程序框架。它维护了一组策划组件和“约定优于配置”的理念,使得我们可以快速开发应用程序而无需大量样板。本指南将向您展示如何使用Phusion Passenger在您的Linode上部署Rails应用程序。Passenger允许您直接在Apache应用程序中嵌入Rails应用程序,而无需担心FastCGI或复杂的Web服务器代理。
wsq
2018/08/28
5.8K0
在snow leopard上编译Ruby, RubyGems, 和Rails
准备: Snow Leopard系统 XCode编译环境,Snow Leopard系统盘上有 第一步:设置路径 vim ~/.profile 在文件最后加上: export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH" 使新的路径生效 source ~/.profile 第二步:下载源文件 curl -O ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
EltonZheng
2021/01/22
5280
Ruby on Rails 基础(5)
其实就是一捆gems Tip: 查看本地有哪些 gem ,可以通过如下方式 [root@h202 ruby]# gem list *** LOCAL GEMS *** actionmailer (4.2.6) actionpack (4.2.6) actionview (4.2.6) activejob (4.2.6) ... ... rdoc (4.2.1) rvm (1.11.3.9) sprockets (3.6.0) sprockets-rails (3.0.4) test-unit (3.1.
franket
2021/11/25
8500
Ruby on Rails 基础(10)
成功启动,在本地启动浏览器,可以进行访问 (无法从外部访问,原因是并未绑定IP) 直接使用 Ctrl + C 就可以停止此应用 如果希望从外部访问,可以进行如下配置 -b 可以绑定服务 IP [root@h202 blog]# rails server -b 0.0.0.0 => Booting WEBrick => Rails 4.2.6 application starting in development on http://0.0.0.0:3000 => Run `rails server -h
franket
2021/11/25
4140
ruby on rails使用笔记
如果升级过程中说xcode版本太低 还得先升级xcode 重启电脑后继续升级ruby 升级完系统依然报错说xcode版本太低可以使用以下命令切换xcode版本
lilugirl
2019/05/28
1.1K0
istio: http 流量 301重定向到 https
下面截取本站 Gateway 配置中的一部分,只需添加最后两行即可实现流量重定向。
SRE扫地僧
2021/10/07
2.7K0
istio: http 流量 301重定向到 https

相似问题

如何在Ruby on Rails中将URL参数传递到根目录[在routes.rb中

20

在rails 2.3中将Params传递到301重定向

12

Ruby on Rails 301重定向

20

Ruby on Rails -在URL中将DateTime作为参数传递

10

在ruby on rails中将参数作为路径变量传递

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档