繁体   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