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.

On Mon, Oct 19, 2009 at 11:16 AM, Sergio Aristizabal <
[email protected]> wrote:

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

On Mon, Oct 19, 2009 at 11:27 AM, Conrad T. [email protected]
wrote:

something like:

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.

2009/10/19, Conrad T. [email protected]:

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

reasoning for having ServicesController within the production directory?

Posted via http://www.ruby-forum.com/.


Von meinen Mobilgerät aus gesendet

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs