我想接受我的对象的 URL,这些 URL 包含一个未使用的元素,但出于 SEO 的原因,这会很好。例如,我想接受如下网址:
http://localhost:3000/people/USA/123-joe-schmoe
..“/USA”位根本没有任何意义,除了向用户和搜索引擎发出此人居住在美国的信号。
我已经尝试使用通配符设置我的规则,以及例如做类似的事情
match "people/:whatever/:id" => "people#show", :constraints => {:id => /\d+-.*/}, :as => "person"
但这会导致尝试路由到:controller => people, :action => "show", :whatever => #<Person id: 123 ...>
哪个失败。
是否可以让路由忽略 :whatever 部分并改为传递我的 :id ?