在路线中接受单个动态但未使用的元素

时间:2012-05-12 16:04:24

标签: ruby-on-rails ruby-on-rails-3 url-routing

我想接受包含未使用元素的对象的URL,但这对于SEO原因很好。例如,我想接受一个网址:

http://localhost:3000/people/USA/123-joe-schmoe

..“/ USA”位根本没有意义,除了向用户和搜索引擎发信号通知此人居住在美国。

我尝试使用globbing设置我的规则,以及例如执行类似

的操作

match "people/:whatever/:id" => "people#show", :constraints => {:id => /\d+-.*/}, :as => "person"

但是这导致尝试路由到失败的:controller => people, :action => "show", :whatever => #<Person id: 123 ...>

是否可以让路由忽略:无论是什么部分并传入my:id?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用通配符

match "people/*/:id => "doctors#show", :constraints=> {:id=>/\d+=.*/}, :as=>"person"