未初始化的老大难问题

未初始化的老大难问题

问题描述:

这里是我的路由配置:未初始化的老大难问题

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

什么给?我如何才能正常工作和路由?谢谢。

+0

我想通了。这样的傻瓜。我将控制器创建为ServicesController,因此所有引用都是针对服务模型而不是服务模型。愚蠢的错误。 – 2009-07-14 17:00:42

ServicesController是否由模型Service备份?您是否意外地在控制器中将其引用为服务?

+0

这正是我所做的。感谢您的回应。 – 2009-07-14 19:12:18

这可能与您的路线没有任何关系; ServicesController中的new方法试图使用不存在的名为Services的(类?常量?对象?)。