【问题标题】:How do you add prefixes to routes? Rails (4.2.5) routing confusion.如何为路由添加前缀? Rails (4.2.5) 路由混乱。
【发布时间】:2016-01-19 22:34:58
【问题描述】:

我有两个控制器 offersposts

routes.rb 我有以下...

resources :offers

get "/posts"          => "posts#index"
post "/posts"         => "posts#create"
get "/posts/new"      => "posts#new"
get "/posts/:id/edit" => "posts#edit"
get "/posts/:id"      => "posts#show"
put "/posts/:id"      => "posts#update"  
patch "/posts/:id"    => "posts#update"   
delete "/posts/:id"   => "posts#destroy"

据我了解,这两种路由方式在操作上是相同的。或者换一种说法,resources :offers 是写出每条路线的捷径。

然而,我的问题是当我执行rake routes 时,我得到...

    Prefix Verb   URI Pattern                Controller#Action
    offers GET    /offers(.:format)          offers#index
           POST   /offers(.:format)          offers#create
 new_offer GET    /offers/new(.:format)      offers#new
edit_offer GET    /offers/:id/edit(.:format) offers#edit
     offer GET    /offers/:id(.:format)      offers#show
           PATCH  /offers/:id(.:format)      offers#update
           PUT    /offers/:id(.:format)      offers#update
           DELETE /offers/:id(.:format)      offers#destroy
     posts GET    /posts(.:format)           posts#index
           POST   /posts(.:format)           posts#create
 posts_new GET    /posts/new(.:format)       posts#new
           GET    /posts/:id/edit(.:format)  posts#edit
           GET    /posts/:id(.:format)       posts#show
           PUT    /posts/:id(.:format)       posts#update
           PATCH  /posts/:id(.:format)       posts#update
           DELETE /posts/:id(.:format)       posts#destroy

“速记”offers 路由分配有四个前缀,而速记 posts 路由只有两个。

所以我的问题是: 为什么在以手写方式写出时,所有路由都没有给定前缀?

有没有什么方法可以在以手写方式写出路由时为其分配前缀?

【问题讨论】:

    标签: ruby-on-rails routing


    【解决方案1】:

    您可以通过以下方式为路由指定前缀:

    root 'pages#index', as: :home,其中:home 是您的前缀。

    来源: Generating Paths and URLs from Code

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      • 2013-05-29
      • 1970-01-01
      相关资源
      最近更新 更多