加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby on Rails重定向如何在路径文件中传递para

发布时间:2020-12-17 04:00:33 所属栏目:百科 来源:网络整理
导读:我们最近将我们网站上的产品名称从“手镯”更改为“腕带”,并且需要保留旧的路线以用于搜索引擎优化目的. 基本上,这些路线 www.hostname.com/products/bracelets/series-1/ www.hostname.com/products/bracelets/series-1/small-purple 应该路由到 www.hostn
我们最近将我们网站上的产品名称从“手镯”更改为“腕带”,并且需要保留旧的路线以用于搜索引擎优化目的.

基本上,这些路线

www.hostname.com/products/bracelets/series-1/
www.hostname.com/products/bracelets/series-1/small-purple

应该路由到

www.hostname.com/products/wristbands/series-1/
www.hostname.com/products/wristbands/series-1/small-purple

我正在阅读这里的教程http://guides.rubyonrails.org/routing.html#redirection,看起来我将使用块语法,但我仍然不确定如何正确地进行路由.我也想了解更多关于路线文件的信息,所以任何信息都会很棒.提前致谢

match "/bracelets/:name" => redirect {|params| "/wristbands/#{params[:name]}" }

编辑:

好吧,我已经玩了一会儿,这就是它如何与我尝试过的一起工作

match "/products/bracelets/:name/:name2" => redirect {|params| "/products/wristbands/#{params[:name].pluralize}/#{params[:name2].pluralize}" }

输入网址:
本地主机:3000 /产品/手镯/系列-1 /小紫

输出网址:localhost:3000 / products / wristbands
错误消息:无效的产品:series-1
(所以这场比赛奏效了,但重定向没有)

如果我更改匹配以检查这样的params:

match "/products/balance-bracelets/:name/:name2" => redirect {|params| "/products/wristbands/#{params.inspect}" }

我得到以下内容:

/products/wristbands/{:name=>"series-1",:name2=>"small-purple"}

所以它似乎没有识别第二个斜杠’/’或其他东西.有任何想法吗?

解决方法

我遇到了同样的情况,对我有用:

match "/products/bracelets/:name/:name2" => redirect {|params,request| "/products/wristbands/#{params[:name].pluralize}/#{params[:name2].pluralize}" }

我把两个agruments传给了这个街区.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读