Rails路由具有N个参数

时间:2010-06-21 16:14:03

标签: ruby-on-rails variables routes

我有一个应用程序,允许用户在特定域上的页面的URL上创建。

我想要实现的是创建具有由“/”分隔的可变数量参数的URL。例如:

www.mydomain.com/a

ww.mydomain.com/a/b

www.mydomain.com/a/b/c

等等。在root之后,所有内容都将被视为参数。我在Rails代码中需要的最终结果是两个字符串:

1。 “www.mydomain.com” 2.“a”或“a / b”或“a / b / c”(无论是在根之后)

谢谢, 姆兰

2 个答案:

答案 0 :(得分:4)

听起来你想要一个全能的路线。将以下行添加到routes.rb文件中:

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

无论提供什么URL,请求路径都会被/捕获并分隔到数组中。您可以通过params[:path]

访问此内容

由于这将匹配任何和每个请求,因此应该在此之前声明您拥有的任何其他路由。

查看Ryan Bates的catch-all route railscast了解更多信息。

答案 1 :(得分:0)

您应该查看Rails指南“Rails Routing from the Outside In ”。

我不确定我是否收到你的问题,但似乎你想要一些接近的东西:

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