Ruby on rails 对多个路由使用同一控制器?
有没有一种方法可以写入以下路由,这样您就不必每次都指定相同的控制器Ruby on rails 对多个路由使用同一控制器?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 4,有没有一种方法可以写入以下路由,这样您就不必每次都指定相同的控制器 get 'jobs' => 'pages#jobs' get 'contact' => 'pages#contact' get 'terms' => 'pages#terms' get 'privacy' => 'pages#privacy' 以下是两个备选方案: 在这三种方法中,第一种方法,即使用范围作为“/”将创建与问题中定义的路线创建的路线完全相同的路线 1.将作用域用作“/” 创建如下路由: j
get 'jobs' => 'pages#jobs'
get 'contact' => 'pages#contact'
get 'terms' => 'pages#terms'
get 'privacy' => 'pages#privacy'
以下是两个备选方案: 在这三种方法中,第一种方法,即
使用范围作为“/”
将创建与问题中定义的路线创建的路线完全相同的路线
1.将作用域用作“/”
创建如下路由:
jobs GET /jobs(.:format) pages#jobs
contact GET /contact(.:format) pages#contact
terms GET /terms(.:format) pages#terms
privacy GET /privacy(.:format) pages#privacy
jobs GET /pages/jobs(.:format) pages#jobs
contact GET /pages/contact(.:format) pages#contact
terms GET /pages/terms(.:format) pages#terms
privacy GET /pages/privacy(.:format) pages#privacy
jobs_page GET /pages/:id/jobs(.:format) pages#jobs
contact_page GET /pages/:id/contact(.:format) pages#contact
terms_page GET /pages/:id/terms(.:format) pages#terms
privacy_page GET /pages/:id/privacy(.:format) pages#privacy
2。将范围用作“页面”
创建如下路由:
jobs GET /jobs(.:format) pages#jobs
contact GET /contact(.:format) pages#contact
terms GET /terms(.:format) pages#terms
privacy GET /privacy(.:format) pages#privacy
jobs GET /pages/jobs(.:format) pages#jobs
contact GET /pages/contact(.:format) pages#contact
terms GET /pages/terms(.:format) pages#terms
privacy GET /pages/privacy(.:format) pages#privacy
jobs_page GET /pages/:id/jobs(.:format) pages#jobs
contact_page GET /pages/:id/contact(.:format) pages#contact
terms_page GET /pages/:id/terms(.:format) pages#terms
privacy_page GET /pages/:id/privacy(.:format) pages#privacy
3。嵌套路线
创建如下路由:
jobs GET /jobs(.:format) pages#jobs
contact GET /contact(.:format) pages#contact
terms GET /terms(.:format) pages#terms
privacy GET /privacy(.:format) pages#privacy
jobs GET /pages/jobs(.:format) pages#jobs
contact GET /pages/contact(.:format) pages#contact
terms GET /pages/terms(.:format) pages#terms
privacy GET /pages/privacy(.:format) pages#privacy
jobs_page GET /pages/:id/jobs(.:format) pages#jobs
contact_page GET /pages/:id/contact(.:format) pages#contact
terms_page GET /pages/:id/terms(.:format) pages#terms
privacy_page GET /pages/:id/privacy(.:format) pages#privacy
如果控制器和作用域相同,那么对于#2,还有另一种使用名称空间的方法,如名称空间:pages do;获得“联系”;结束
,它将给出如下路径
GET/pages/contact(:format)pages#contact