Nee*_*ngh 1 ruby rest ruby-on-rails
出于缓存目的,我不能像/ users/2/index?month = 2009-02这样的网址.这种方法的问题是,如果我进行页面缓存,那么即使是/ users/2/index?month = 2009-03,也会返回相同的页面.
要解决缓存问题,我想提供像/users/2/events/2009-02.html这样的网址.我已经将用户定义为一个宁静的资源.
map.resources:用户
有谁知道如何获取将要映射到的/users/2/events/2009-02.html的URL
controller = users action = events id = 2或user_id = 2 month = 2009-02
在应用程序的路径文件中,您可以设置如下命名路径:
map.user_events '/users/:user_id/events/:month.html',
:controller => :users, :action => :events,
:requirements => {:month => /[0-9]{4}-[0-9]{2}/}
Run Code Online (Sandbox Code Playgroud)
路由DSL在Rails 3中发生了很大的变化.现在你会做更多这样的事情:
get '/users/:user_id/events/:month.html' => 'users#events',
:constraints => {:month => /[0-9]{4}-[0-9]{2}/}
Run Code Online (Sandbox Code Playgroud)
有关路由的更多信息,请访问:http://guides.rubyonrails.org/routing.html