有没有办法编写以下路由,所以你不必每次都指定相同的控制器?…
get 'jobs' => 'pages#jobs' get 'contact' => 'pages#contact' get 'terms' => 'pages#terms' get 'privacy' => 'pages#privacy'
解决方法
以下是几种选择:
在这三个中,第一个,即使用范围为“/”将创建与问题中定义的路径创建的路线完全相同的路径.
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作为“页面”
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。