在 Rails 4 中自定义资源路由
Customize resource routing in Rails 4
以photo
-class的资源路由为例。
如果我对 routes.rb
这样做,我将获得以下路线:
resources :photos
# GET '/photos/', :to => 'photos#index'
# GET '/photos/:photo_id/, :to => 'photos#show'
# and so on and so on
现在我想要的是用简单的 /p
替换所有路由中的单词 /photos
这样我就可以得到一个像 /p/1
这样的短 URL第一张照片。有没有办法简单地改变 resource
行,或者我必须手动添加每条路线?
这将使您的所有路线通过 :photos
到 p
resources :p, :controller => "photos"
为了更简洁并避免 p_id
的问题,您可以这样做:
resources :photos, path: 'p'
这样,您就可以从自己的可读性中获益(它将生成像 edit_photo_path
这样的助手,在嵌套路由等情况下,您将像 photo_id
一样访问变量)并生成您确实需要的命名 URL。
以photo
-class的资源路由为例。
如果我对 routes.rb
这样做,我将获得以下路线:
resources :photos
# GET '/photos/', :to => 'photos#index'
# GET '/photos/:photo_id/, :to => 'photos#show'
# and so on and so on
现在我想要的是用简单的 /p
替换所有路由中的单词 /photos
这样我就可以得到一个像 /p/1
这样的短 URL第一张照片。有没有办法简单地改变 resource
行,或者我必须手动添加每条路线?
这将使您的所有路线通过 :photos
到 p
resources :p, :controller => "photos"
为了更简洁并避免 p_id
的问题,您可以这样做:
resources :photos, path: 'p'
这样,您就可以从自己的可读性中获益(它将生成像 edit_photo_path
这样的助手,在嵌套路由等情况下,您将像 photo_id
一样访问变量)并生成您确实需要的命名 URL。