Uninitialized constant "Controller Name"

ruby, ruby-on-rails, ruby-on-rails-3.2

Solution

It should be `SchedulesController`, not `Users::ScheduleController`. Controllers should only be namespaced when the route is namespaced with `namespace`. Controller names should also always be plural.

What you're creating is a nested resource, not a namespaced one.

Problem

I'm having an error with my routes/resources and controllers. I have the following in the routes.rb: ``` # routes.rb resources :users do resource :schedule end ``` And I have a schedule_controller.rb inside controllers/users/ set up as I think it should be: ``` class Users::ScheduleController < ApplicationController # Controller methods here... end ``` Running a rake:routes shows ``` user_schedule POST /users/:user_id/schedule(.:format) schedules#create new_user_schedule GET /users/:user_id/schedule/new(.:format) schedules#new edit_user_schedule GET /users/:user_id/schedule/edit(.:format) schedules#edit GET /users/:user_id/schedule(.:format) schedules#show PUT /users/:user_id/schedule(.:format) schedules#update ``` However, navigating to /users/:user_id/schedule is returning the following error: ``` uninitialized constant SchedulesController ``` My only thoughts on what the problem could be are that is has something to do with nested resources or declaring a single resource and I'm going wrong somewhere. I'm using the helper ``` new_user_schedule_path(current_user) ``` when linking to my 'new' view.

Original source