routing namespaced controllers

Hi,

I have one controller in the /app/controllers/animals_controller.rb

directory, and another in

/app/controllers/production/services_controller.rb. The thing is that

one Animal has many Services, and i’d like to access to them using

something like:

http://localhost:3000/animals/1/production/services/1

or at least with:

http://localhost:3000/animals/1/services/1

I tried the last one adding in routes.rb:

map.resources :animals, :has_many => :services

but it throws me an error: uninitialized constant ServicesController

any idea?

Thanks.

Your ServicesController is in a non-standard location. Thus, what’s the

reasoning for having ServicesController within the production directory?

In any case, you should be able to do the following:

config.load_paths += %W( #{RAILS_ROOT}/app/controllers/production )

The above adds the production directory to your load path.

Good luck,

-Conrad

Hi,

I have one controller in the /app/controllers/animals_controller.rb

directory, and another in

/app/controllers/production/services_controller.rb. The thing is that

one Animal has many Services, and i’d like to access to them using

something like:

http://localhost:3000/animals/1/production/services/1

or at least with:

http://localhost:3000/animals/1/services/1

I tried the last one adding in routes.rb:

map.resources :animals, :has_many => :services

but it throws me an error: uninitialized constant ServicesController

any idea?

Thanks.

Your ServicesController is in a non-standard location. Thus, what’s the

reasoning for having ServicesController within the production directory?

In any case, you should be able to do the following:

config.load_paths += %W( #{RAILS_ROOT}/app/controllers/production )

BTW, the above line goes into your environment.rb file within the Rails::Initializer

block.

-Conrad

'production/services' should work as the controller name. The "non-standard location" should not be an issue. In my app i dont need that init line.