Ruby on rails 4 在Rails 4中自定义资源路由
以Ruby on rails 4 在Rails 4中自定义资源路由,ruby-on-rails-4,routes,resources,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 现在,我想用一个简单的/p替换所有路径中的/photos,这样我就可以为第一张照片获得一个类似/p/1的短URL。有没有办法简单地
photo
-类的资源路由为例
如果我将此链接添加到我的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。有没有办法简单地更改资源
-行,或者我必须手动添加每条路线?这将通过:photos
到p
创建所有路线
resources :p, :controller => "photos"
这将使您的所有路线通过
:照片
到p
resources :p, :controller => "photos"
为了更简洁,避免出现
p\u id
的问题,您可以这样做:
resources :photos, path: 'p'
通过这种方式,您可以从终端的可读性中获益(它将生成帮助程序,如
编辑照片路径
,在嵌套路由等情况下,您将以照片id
的形式访问变量),并生成您想要的命名URL。为了更简洁,避免照片id
的问题,您可以这样做:
resources :photos, path: 'p'
通过这种方式,您可以从终端的可读性中获益(它将生成像edit\u photo\u path
这样的帮助程序,在嵌套路由等情况下,您将访问变量作为photo\u id
),并生成您想要的命名URL