2010-06-21 106 views
1

我有一個應用程序,允許用戶在特定域上的頁面的URL上創建該應用程序。具有N個參數的Rails路由

我想要實現的是創建一個由「/」分隔的可變數量參數的URL。例如:

www.mydomain.com/a

ww.mydomain.com/a/b

www.mydomain.com/a/b/c

等。在根後,一切都將被視爲參數。我在Rails代碼中需要的最終結果是兩個字符串:

1.「www.mydomain.com」 2.「a」或「a/b」或「a/b/c」(無論是根)

感謝, 伊姆蘭

回答

0

你應該看看Rails的指南 「Rails Routing from the Outside In 」。

我不知道如果我得到你的問題,但似乎你想要的東西接近:

map.connect ':first_id/:second_id/:third_id' 
+0

謝謝marcgg。 Jeriko上面的回答是我正在尋找的。 – Saim 2010-06-21 16:54:46

4

聽起來像是你想有一個包羅萬象的路線。以下行添加到您的routes.rb文件:

map.connect '*path', :controller => 'your_controller' :action => 'your_action' 

不管是什麼提供URL,請求路徑被捕獲並/分隔成一個數組。你可以通過params[:path]訪問這個。

因爲這將匹配任何和每個請求,所以你應該在此之前聲明任何其他路由。

檢查出瑞安貝茨'catch-all route railscast欲知更多信息。

+0

完美。這正是我所期待的。 謝謝傑里科。 – Saim 2010-06-21 16:53:53

+0

太好了。不要忘記接受答案! – Jeriko 2010-06-22 07:36:28