我正在尝试为我的结帐控制器创建额外的路径。这是我的路线:
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
时,我的所有自定义路由都有一个我不想要的_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
我该如何删除?
答案 0 :(得分:3)
您必须复制资源名称:
resources :checkouts do
## your routes
end
实际上,您必须使用resource :checkout
或resources :checkouts
,具体取决于您的需求。