在Rails 4中自定义资源路由

时间:2016-05-30 11:07:00

标签: ruby-on-rails-4 routes resources

考虑photo - 类的资源路由,例如。

如果我这样做routes.rb,我会得到以下路线:

resources :photos

# GET '/photos/', :to => 'photos#index'
# GET '/photos/:photo_id/, :to => 'photos#show'
# and so on and so on

现在我想要的是用简单/photos替换所有路线中的单词/p,这样我就可以获得第一张照片的/p/1短网址。有没有办法简单地改变resource - 行,还是我必须手动添加每条路线?

2 个答案:

答案 0 :(得分:1)

这将通过:photosp

制作您的所有路线
resources :p, :controller => "photos" 

答案 1 :(得分:1)

为了更简洁并避免p_id的问题,您可以这样做:

resources :photos, path: 'p'

这样,您可以从最终的可读性中受益(它将生成edit_photo_path等帮助程序,如果是嵌套路由等,您将访问变量photo_id并生成命名URL你真的想要。