具有N个参数的Rails路由

问题描述:

我有一个应用程序,允许用户在特定域上的页面的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”(无论是根)

感谢, 伊姆兰

你应该看看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

听起来像是你想有一个包罗万象的路线。以下行添加到您的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