2011-09-08 2 views
0

최근에이 문제가 발생하기 시작했습니다. 나는 완전히 사용자 정의 RoR 전자 상거래 사이트를 가지고 있으며 방금 웹 사이트를 다시 디자인했다. 이 프로세스의 어딘가에 라우팅 문제가 발생했으며 문제가 발생하기 전에 왜 지금이 문제가 발생했는지 정확히 파악할 수 없습니다.RoR 라우팅 문제

URI는로 간주된다

/orders/295829fb4/items/379 

Heroku가 로그이 오류 뱉어됩니다 여기

ActionController::RoutingError (No route matches "/orders/295829fb4/items/379"): 

그것은과 같은 주문

scope :constraints => { :protocol => (Rails.env.production? ? "https" : "http") } do 

    resources :orders, :only => [:show, :cart] do 

     member do 

      get :cart 

     end 

     resources :items, :only => [:create, :update, :destroy], :controller => 'order_items' 

     resource :address, :only => [:new, :edit, :create, :update] 

     resource :payment, :only => [:new, :create] 

     resource :discount, :only => [:create, :destroy] 

     resource :shipping_method, :only => [:update] 

    end 

end 

cart_order GET /orders/:id/cart(.:format)              {:protocol=>"https", :controller=>"orders", :action=>"cart"} 
         order_items POST /orders/:order_id/items(.:format)            {:protocol=>"https", :controller=>"order_items", :action=>"create"} 
         order_item GET /orders/:order_id/items/:id(.:format)           {:protocol=>"https", :controller=>"order_items", :action=>"show"} 
         order_item PUT /orders/:order_id/items/:id(.:format)           {:protocol=>"https", :controller=>"order_items", :action=>"update"} 
         order_item DELETE /orders/:order_id/items/:id(.:format)           {:protocol=>"https", :controller=>"order_items", :action=>"destroy"} 
         order_address POST /orders/:order_id/address(.:format)           {:protocol=>"https", :controller=>"addresses", :action=>"create"} 
        new_order_address GET /orders/:order_id/address/new(.:format)          {:protocol=>"https", :controller=>"addresses", :action=>"new"} 
       edit_order_address GET /orders/:order_id/address/edit(.:format)          {:protocol=>"https", :controller=>"addresses", :action=>"edit"} 
         order_address PUT /orders/:order_id/address(.:format)           {:protocol=>"https", :controller=>"addresses", :action=>"update"} 
         order_payment POST /orders/:order_id/payment(.:format)           {:protocol=>"https", :controller=>"payments", :action=>"create"} 
        new_order_payment GET /orders/:order_id/payment/new(.:format)          {:protocol=>"https", :controller=>"payments", :action=>"new"} 
        order_discount POST /orders/:order_id/discount(.:format)           {:protocol=>"https", :controller=>"discounts", :action=>"create"} 
        order_discount DELETE /orders/:order_id/discount(.:format)           {:protocol=>"https", :controller=>"discounts", :action=>"destroy"} 
       order_shipping_method PUT /orders/:order_id/shipping_method(.:format)         {:protocol=>"https", :controller=>"shipping_methods", :action=>"update"} 
           order GET /orders/:id(.:format)               {:protocol=>"https", :controller=>"orders", :action=>"show"} 
+0

'레이크 루트'의 출력을 게시 할 수도 있습니까? – jefflunt

+0

rake routes | grep order – Anatoly

+0

주문과 관련된 레이크 경로를 추가했습니다. – Marcus

답변

0

내 routes.rb입니다

resources :items, :only => [:create, :update, :destroy], :controller => 'order_items' 

해당 경로가 작동하려면 : show 메소드가 필요합니다.

resources :items, :only => [:show, :create, :update, :destroy], :controller => 'order_items'