簡體   English   中英

Rails路由:收集路由是否在URL幫助程序中添加“ _index”?

[英]Rails routes: collection routes keep adding “_index” to url helper?

我正在嘗試為結帳控制器創建額外的路徑。 這是我的路線:

resources :checkout do
  collection do
    post :add_to_cart, :to => 'checkout#add_to_cart'
    put :update_shopping_cart, :to => 'checkout#update_shopping_cart'
    get :billing
    post :update_billing
    put :update_billing
    post :update_shipping
    put :update_shipping
    get :order_summary
    post :submit_order
    get :order_complete
    get :clone_shipping_address
    get :estimate_shipping
  end


end

但是,當我執行bundle exec rake routes | grep checkout bundle exec rake routes | grep checkout ,我所有的自定義路由都有一個我不需要的_index后綴:

             add_to_cart_checkout_index POST   /checkout/add_to_cart(.:format)                                 checkout#add_to_cart
    update_shopping_cart_checkout_index PUT    /checkout/update_shopping_cart(.:format)                        checkout#update_shopping_cart
                 billing_checkout_index GET    /checkout/billing(.:format)                                     checkout#billing
          update_billing_checkout_index POST   /checkout/update_billing(.:format)                              checkout#update_billing
                                        PUT    /checkout/update_billing(.:format)                              checkout#update_billing
         update_shipping_checkout_index POST   /checkout/update_shipping(.:format)                             checkout#update_shipping
                                        PUT    /checkout/update_shipping(.:format)                             checkout#update_shipping
           order_summary_checkout_index GET    /checkout/order_summary(.:format)                               checkout#order_summary
            submit_order_checkout_index POST   /checkout/submit_order(.:format)                                checkout#submit_order
          order_complete_checkout_index GET    /checkout/order_complete(.:format)                              checkout#order_complete
  clone_shipping_address_checkout_index GET    /checkout/clone_shipping_address(.:format)                      checkout#clone_shipping_address
       estimate_shipping_checkout_index GET    /checkout/estimate_shipping(.:format)                           checkout#estimate_shipping
                         checkout_index GET    /checkout(.:format)                                             checkout#index
                                        POST   /checkout(.:format)                                             checkout#create
                           new_checkout GET    /checkout/new(.:format)                                         checkout#new
                          edit_checkout GET    /checkout/:id/edit(.:format)                                    checkout#edit
                               checkout GET    /checkout/:id(.:format)                                         checkout#show
                                        PUT    /checkout/:id(.:format)                                         checkout#update
                                        DELETE /checkout/:id(.:format)                                         checkout#destroy

我將如何刪除?

您必須對資源名稱進行復數處理:

resources :checkouts do
  ## your routes
end

實際上,您必須根據需要使用resource :checkoutresources :checkouts

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM