Added new Rails controller using “generate controller” but can't load page

21 views
Skip to first unread message

Dan D.

unread,
Aug 13, 2013, 11:30:14 AM8/13/13
to rubyonra...@googlegroups.com

I have a Rails app that has only consisted of backend code so far (a little custom workflow engine, Redis, foreman, etc). Today I tried to add the first controller to the application, but I can't get the new controller to load.

I used:

rails generate controller CollectedData new --no-test-framework

And got back:

  create  app/controllers/collected_data_controller.rb
   route  get "collected_data/new"
  invoke  erb
  create    app/views/collected_data
  create    app/views/collected_data/new.html.erb
  invoke  helper
  create    app/helpers/collected_data_helper.rb
  invoke  assets
  invoke    coffee
  create      app/assets/javascripts/collected_data.js.coffee
  invoke    scss
  create      app/assets/stylesheets/collected_data.css.scss

And I also ran rake routes and got this:

collected_data_new GET /collected_data/new(.:format) collected_data#new

But whenever I load http://localhost:3000/collected_data/new in my browser, I get:

Not Found: /collected_data/new

Here is the content of my routes.rb file:

Crows::Application.routes.draw do
  get "collected_data/new"

  # The priority is based upon order of creation:
  # first created -> highest priority.

  # Sample of regular route:
  #   match 'products/:id' => 'catalog#view'
  # Keep in mind you can assign values other than :controller and :action

  # Sample of named route:
  #   match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase
  # This route can be invoked with purchase_url(:id => product.id)

  # Sample resource route (maps HTTP verbs to controller actions automatically):
  #   resources :products

  # Sample resource route with options:
  #   resources :products do
  #     member do
  #       get 'short'
  #       post 'toggle'
  #     end
  #
  #     collection do
  #       get 'sold'
  #     end
  #   end

  # Sample resource route with sub-resources:
  #   resources :products do
  #     resources :comments, :sales
  #     resource :seller
  #   end

  # Sample resource route with more complex sub-resources
  #   resources :products do
  #     resources :comments
  #     resources :sales do
  #       get 'recent', :on => :collection
  #     end
  #   end

  # Sample resource route within a namespace:
  #   namespace :admin do
  #     # Directs /admin/products/* to Admin::ProductsController
  #     # (app/controllers/admin/products_controller.rb)
  #     resources :products
  #   end

  # You can have the root of your site routed with "root"
  # just remember to delete public/index.html.
  # root :to => 'welcome#index'

  # See how all your routes lay out with "rake routes"

  # This is a legacy wild controller route that's not recommended for RESTful applications.
  # Note: This route will make all actions in every controller accessible via GET requests.
  # match ':controller(/:action(/:id))(.:format)'
end

Procfile contents:

redis: redis-server config/redis/redis.conf
clock: bundle exec rake resque:scheduler --trace
cp_resp_poller: bundle exec rake environment resque:work QUEUE=cp_resp_poller
cp_req_sender: bundle exec rake environment resque:work QUEUE=cp_req_sender --trace
server: rails server

I have also tried restarting WEBrick.

Colin Law

unread,
Aug 14, 2013, 3:46:58 AM8/14/13
to rubyonra...@googlegroups.com
On 13 August 2013 16:30, Dan D. <dan.d...@gmail.com> wrote:
> I have a Rails app that has only consisted of backend code so far (a little
> custom workflow engine, Redis, foreman, etc). Today I tried to add the first
> controller to the application, but I can't get the new controller to load.
>
> I used:
>
> rails generate controller CollectedData new --no-test-framework
>
> And got back:
>
> create app/controllers/collected_data_controller.rb
> route get "collected_data/new"
> invoke erb
> create app/views/collected_data
> create app/views/collected_data/new.html.erb
> invoke helper
> create app/helpers/collected_data_helper.rb
> invoke assets
> invoke coffee
> create app/assets/javascripts/collected_data.js.coffee
> invoke scss
> create app/assets/stylesheets/collected_data.css.scss
>
> And I also ran rake routes and got this:
>
> collected_data_new GET /collected_data/new(.:format) collected_data#new
>
> But whenever I load http://localhost:3000/collected_data/new in my browser,
> I get:
>
> Not Found: /collected_data/new

Is that exactly the error you are getting (and all it says)? Which
browser are you using? It seems an odd message, but if that is what
it says it suggests that the request is not getting through to rails
at all (you would get a routing error if it got as far as rails but
then could not be found). What do you see in development.log and in
the server window when you issue the request?

Colin
Reply all
Reply to author
Forward
0 new messages