我们最近将我们网站上的产品名称从'bracelets'更改为'wristbands',并且需要保留旧的路线以实现SEO目的。Ruby on Rails重定向如何在路径文件中传递参数
从本质上讲,这些路线
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 /小紫色
输出URL:升ocalhost:3000 /产品/腕带
错误消息:无效的产品:系列1
(所以匹配工作,但重定向没有)
如果我改变了比赛检查PARAMS这样的:
我得到如下:
/products/wristbands/{:name=>"series-1", :name2=>"small-purple"}
所以看起来它是不承认的第二个斜杠“/”什么的。有任何想法吗?
你能解释一下它是如何与你已经尝试过什么工作的权利吗? – oldergod
我添加了一些细节,谢谢,有什么想法? – ruevaughn