如何让两条路由转到Rails路由中的同一个端点

时间:2016-12-05 18:38:56

标签: ruby-on-rails

我希望在一行上定义两个网址,以便

http://www.domain.com/share/ig
http://www.domain.com/instagram 

将重定向到:

https://www.instagram.com/igapp

我试过像

这样的东西
get ['share/ig','instagram'], to: redirect("https://www.instagram.com/igapp"), as: :share_ig

但不起作用

1 个答案:

答案 0 :(得分:1)

据我所知,这与Rails的路线无法实现。 get方法将path字符串作为第一个参数,因此它不会识别数组。

您有时可以使用dynamic segments来完成类似的操作,但在这种情况下这不会起作用,因为您的两条路径结构不同。

如果真的需要一个单行,你可以遍历你的数组并为每个数组创建一个路径。

['share/ig','instagram'].each{ |path| get path, to: redirect("https://www.instagram.com/igapp"), as: path }