[英]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 :checkout
或resources :checkouts
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.