虽然在佣金路线中有一条路线,但没有路线匹配
我得到奇怪的ActionController::RoutingError: No route matches
。 可以生成路线:
> r = Rails.application.routes > r.generate controller: :items, action: :index, user_id:1 => ["/users/1/items", {}]
它是在rake routes
:
$ rake routes user_items GET /users/:user_id/items(.:format) items#index POST /users/:user_id/items(.:format) items#create new_user_item GET /users/:user_id/items/new(.:format) items#new edit_user_item GET /users/:user_id/items/:id/edit(.:format) items#edit user_item GET /users/:user_id/items/:id(.:format) items#show PUT /users/:user_id/items/:id(.:format) items#update DELETE /users/:user_id/items/:id(.:format) items#destroy (...)
但我不承认:
r.recognize_path "/users/1/items" ActionController::RoutingError: No route matches "/users/1/items"
我的routes.rb
:
Sumo2::Application.routes.draw do resources :users do resources :items end (...) end
有任何想法吗?
你有ItemsController
类定义了吗? 没有它,您的路线将无法识别。 也许你拼错了它。
irb(main):001:0> r = Rails.application.routes => # irb(main):002:0> r.recognize_path "/users/1/items" ActionController::RoutingError: No route matches "/users/1/items" ... errors ... irb(main):003:0> class ItemsController; end # <----------< => nil irb(main):004:0> r.recognize_path "/users/1/items" => {:action=>"index", :controller=>"items", :user_id=>"1"}