我是Ruby on Rails的新手,我正在开发一个示例应用程序。
我有一个名为Doi
的模型。由于它看起来不太直观,我将模型重命名为Destination
。
我遇到了一个主要问题:如何将包含旧模型Doi
的所有网址重定向到新模型Destination
。
示例:
0.0.0.0:3000/<action_x>/dois/<action_y>
应自动重定向到
0.0.0.0:3000/<action_x>/destinations/<action_y>
在我的routes.rb中,我使用过:
match '/**/dois/**' => redirect('/**/destinations/**')
但它没有用。什么是正确的方法?
答案 0 :(得分:2)
您可以尝试使用
match '/:before/dois/:after' => redirect('/%{before}/destinations/%{after}')
中查看动态重定向的更多示例
另一种可定制的解决方案是:
match '*before/dois/*after' => redirect {|params| "#{params[:before]}/destinations/#{params[:after]}" }
中还有更多有关通配符的帮助