2011-03-16 30 views
1

我需要设置航线至极将匹配像这样的链接路线及要求:导轨和通配符

1: fixed/9731-monday-tuesday-wednesday-thursday-friday/922-another 
2: fixed/potatoe 

第一种情况有无限的参数,但是所有的人都在格式[数字] - [某些字符串]。 第二种情况只有一个参数只有字符。

心中已经试过这样:

map.connect("/fixed/*param_list", 
       :controller => 'first', 
       :action => 'index', 
       :requirements => {:param_list => /(\d+-[\w-]+)/}) 

    map.connect("/fixed/:category", 
       :controller => 'second', 
       :action => 'index') 

但是符合要求第一条路线不与任何通配符更多的工作。它只匹配ulr,如/fixed/922-另一个,但不是二维和更多维/fixed/922-other/123-and-more

所以我的问题是:是否有可能通过需求参数化通配符路由?以及如何在我的情况下设置它。

回答

0

看起来你的正则表达式是错误的。不应该是/\d+-[\w-]+(\/\d+-[\w-]+)*/为了处理多个参数?

+0

嗯,你是对的。我期望这个表达式适用于每个参数的实例,但显然它必须是整个参数的一部分。非常感谢你。 – elCarda 2011-03-16 16:28:54