我正在创建一个应该具有可选/忽略的上一个术语的路线。
像这样:
/product/12345/Dark-Knight-Rises # last term is just there for a nice URL
我在思考,通过阅读文档,我只能在上一个术语中使用通配符:
match 'product/:uid/*full_name' => 'product#view', :via => [:get]
那不起作用。我确实让这个工作:
match 'product/:uid/:full_name' => 'product#view', :via => [:get]
match 'product/:uid' => 'product#view', :via => [:get]
但是,似乎这应该是可行的在一行。是的?
答案 0 :(得分:2)
match 'product/:uid(/:full_name)' => 'product#view', :via => [:get]
正是您要找的
括号使full_name成为可选参数,您可以忽略它,因为您只需要一个漂亮的URL。
答案 1 :(得分:0)
单行以下应该有效
match 'product/:uid/:full_name' => 'product#view', :via => [:get]