2011-03-16 29 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