2012-10-04 58 views
0

REST风格的路线我已经写在Rails的3.2.8主要销售门票音乐活动的电子商务网站。到目前为止,我已经在应用程序中使用简单的RESTful路线一直:生成动态前缀

/ => default route: /events 
/events 
/events/1 
/events/1/new 
/events/2 
... 

使用在同一个地方发生的,但是从现在开始,将是两个地方,比方说“莫伦比”和“马拉卡纳所有事件”。 广场是应用程序中的模型,它是事件之间一个非常重要的区别。所以,我想使这个地方命名为路径的一部分,并且有如下途径:

/ => default route: page to choose place 
/morumbi => same as /morumbi/events 
/morumbi/events/1 
/morumbi/events/1/new 
/maracana => same as /maracana/events 
/maracana/events/2 
... 

虽然我知道该怎么做,使用#match方法,我已经好多个创建路线用更容易维护#resources方法,我想留住他们。

你知道解决办法避免使用#match

回答

3

您需要使用#scope方法:

scope path: ':place_name', as: 'place' do 
    resources :events 
    ... 
end 

所以GET /morumbi/events/1将调用EventsController#show与参数id: '1'place_name: 'morumbi'