未初始化的老大难问题
问题描述:
这里是我的路由配置:未初始化的老大难问题
map.resources :services do |services| services.resources :capabilities do |capabilities| capabilities.resources :http_headers end end
这里是我的“回扣路线”输出:
laran:trunk laran$ rake routes (in /Users/laran/workspace/kibo/mega/server/trunk) accounts GET /accounts(.:format) {:action=>"index", :controller=>"accounts"} POST /accounts(.:format) {:action=>"create", :controller=>"accounts"} new_account GET /accounts/new(.:format) {:action=>"new", :controller=>"accounts"} edit_account GET /accounts/:id/edit(.:format) {:action=>"edit", :controller=>"accounts"} account GET /accounts/:id(.:format) {:action=>"show", :controller=>"accounts"} PUT /accounts/:id(.:format) {:action=>"update", :controller=>"accounts"} DELETE /accounts/:id(.:format) {:action=>"destroy", :controller=>"accounts"} services GET /services(.:format) {:action=>"index", :controller=>"services"} POST /services(.:format) {:action=>"create", :controller=>"services"} new_service GET /services/new(.:format) {:action=>"new", :controller=>"services"} edit_service GET /services/:id/edit(.:format) {:action=>"edit", :controller=>"services"} service GET /services/:id(.:format) {:action=>"show", :controller=>"services"} PUT /services/:id(.:format) {:action=>"update", :controller=>"services"} DELETE /services/:id(.:format) {:action=>"destroy", :controller=>"services"} service_capabilities GET /services/:service_id/capabilities(.:format) {:action=>"index", :controller=>"capabilities"} POST /services/:service_id/capabilities(.:format) {:action=>"create", :controller=>"capabilities"} new_service_capability GET /services/:service_id/capabilities/new(.:format) {:action=>"new", :controller=>"capabilities"} edit_service_capability GET /services/:service_id/capabilities/:id/edit(.:format) {:action=>"edit", :controller=>"capabilities"} service_capability GET /services/:service_id/capabilities/:id(.:format) {:action=>"show", :controller=>"capabilities"} PUT /services/:service_id/capabilities/:id(.:format) {:action=>"update", :controller=>"capabilities"} DELETE /services/:service_id/capabilities/:id(.:format) {:action=>"destroy", :controller=>"capabilities"} service_capability_http_headers GET /services/:service_id/capabilities/:capability_id/http_headers(.:format) {:action=>"index", :controller=>"http_headers"} POST /services/:service_id/capabilities/:capability_id/http_headers(.:format) {:action=>"create", :controller=>"http_headers"} new_service_capability_http_header GET /services/:service_id/capabilities/:capability_id/http_headers/new(.:format) {:action=>"new", :controller=>"http_headers"} edit_service_capability_http_header GET /services/:service_id/capabilities/:capability_id/http_headers/:id/edit(.:format) {:action=>"edit", :controller=>"http_headers"} service_capability_http_header GET /services/:service_id/capabilities/:capability_id/http_headers/:id(.:format) {:action=>"show", :controller=>"http_headers"} PUT /services/:service_id/capabilities/:capability_id/http_headers/:id(.:format) {:action=>"update", :controller=>"http_headers"} DELETE /services/:service_id/capabilities/:capability_id/http_headers/:id(.:format) {:action=>"destroy", :controller=>"http_headers"} /login {:action=>"login", :controller=>"accounts"} /logout {:action=>"logout", :controller=>"accounts"} root / {:action=>"index", :controller=>"default"} laran:trunk laran$
当我去/服务/新虽然,我得到这个错误:
NameError in ServicesController#new uninitialized constant ServicesController::Services
什么给?我如何才能正常工作和路由?谢谢。
答
ServicesController是否由模型Service备份?您是否意外地在控制器中将其引用为服务?
+0
这正是我所做的。感谢您的回应。 – 2009-07-14 19:12:18
答
这可能与您的路线没有任何关系; ServicesController中的new
方法试图使用不存在的名为Services
的(类?常量?对象?)。
我想通了。这样的傻瓜。我将控制器创建为ServicesController,因此所有引用都是针对服务模型而不是服务模型。愚蠢的错误。 – 2009-07-14 17:00:42