有没有一种方法可以编写以下路由,这样您就不必每次都指定相同的 Controller ?...
get 'jobs' => 'pages#jobs'
get 'contact' => 'pages#contact'
get 'terms' => 'pages#terms'
get 'privacy' => 'pages#privacy'
最佳答案
这里有几个选择:
在这三个中,第一个即 Using scope as "/"
将创建与问题中定义的 routes 创建的完全相同的路由
.
1。使用范围作为“/”
scope "/", controller: :pages do
get 'jobs'
get 'contact'
get 'terms'
get 'privacy'
end
创建如下路由:
jobs GET /jobs(.:format) pages#jobs
contact GET /contact(.:format) pages#contact
terms GET /terms(.:format) pages#terms
privacy GET /privacy(.:format) pages#privacy
<强>2。使用范围作为“页面”
scope :pages, controller: :pages do
get 'jobs'
get 'contact'
get 'terms'
get 'privacy'
end
创建如下路由:
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
3.嵌套路线
resources :pages do
member do
get 'jobs'
get 'contact'
get 'terms'
get 'privacy'
end
end
创建如下路由:
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
关于ruby-on-rails - 对多条路线使用同一个 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22773935/