Skullomania
Skullomania

Reputation: 2215

Trouble with getting started with ruby on rails

I have never used ruby and thought I would give it a shot. The installation seems to have gone fine(i think). The trouble begins after I create the server using rails server and go to set up the route, so that the new project will show up instead of the ruby welcome screen. The error it produces is

uninitialized constant WelcomeController

I set up the path in the route controller like so

Rails.application.routes.draw do
root 'welcome#index'

Have I missed a step? I am seting up rails on Windows seven using the instructions from installrails.com

Here is the full trace as requested

app/assets/javascripts/application.js:15 sprockets (3.6.0)
lib/sprockets/resolve.rb:64:in `resolve!' sprockets (3.6.0)
lib/sprockets/directive_processor.rb:399:in `resolve' sprockets
(3.6.0) lib/sprockets/directive_processor.rb:207:in
`process_require_directive' sprockets (3.6.0)
lib/sprockets/directive_processor.rb:180:in `block in
process_directives' sprockets (3.6.0)
lib/sprockets/directive_processor.rb:178:in `each' sprockets (3.6.0)
lib/sprockets/directive_processor.rb:178:in `process_directives'
sprockets (3.6.0) lib/sprockets/directive_processor.rb:83:in `_call'
sprockets (3.6.0) lib/sprockets/directive_processor.rb:68:in `call'
sprockets (3.6.0) lib/sprockets/processor_utils.rb:75:in
`call_processor' sprockets (3.6.0)
lib/sprockets/processor_utils.rb:57:in `block in call_processors'
sprockets (3.6.0) lib/sprockets/processor_utils.rb:56:in
`reverse_each' sprockets (3.6.0)
lib/sprockets/processor_utils.rb:56:in `call_processors' sprockets
(3.6.0) lib/sprockets/loader.rb:134:in `load_from_unloaded' sprockets
(3.6.0) lib/sprockets/loader.rb:60:in `block in load' sprockets
(3.6.0) lib/sprockets/loader.rb:317:in
`fetch_asset_from_dependency_cache' sprockets (3.6.0)
lib/sprockets/loader.rb:44:in `load' sprockets (3.6.0)
lib/sprockets/cached_environment.rb:20:in `block in initialize'
sprockets (3.6.0) lib/sprockets/cached_environment.rb:47:in `yield'
sprockets (3.6.0) lib/sprockets/cached_environment.rb:47:in `load'
sprockets (3.6.0) lib/sprockets/bundle.rb:23:in `block in call'
sprockets (3.6.0) lib/sprockets/utils.rb:183:in `dfs' sprockets
(3.6.0) lib/sprockets/bundle.rb:24:in `call' sprockets (3.6.0)
lib/sprockets/processor_utils.rb:75:in `call_processor' sprockets
(3.6.0) lib/sprockets/processor_utils.rb:57:in `block in
call_processors' sprockets (3.6.0)
lib/sprockets/processor_utils.rb:56:in `reverse_each' sprockets
(3.6.0) lib/sprockets/processor_utils.rb:56:in `call_processors'
sprockets (3.6.0) lib/sprockets/loader.rb:134:in `load_from_unloaded'
sprockets (3.6.0) lib/sprockets/loader.rb:60:in `block in load'
sprockets (3.6.0) lib/sprockets/loader.rb:317:in
`fetch_asset_from_dependency_cache' sprockets (3.6.0)
lib/sprockets/loader.rb:44:in `load' sprockets (3.6.0)
lib/sprockets/cached_environment.rb:20:in `block in initialize'
sprockets (3.6.0) lib/sprockets/cached_environment.rb:47:in `yield'
sprockets (3.6.0) lib/sprockets/cached_environment.rb:47:in `load'
sprockets (3.6.0) lib/sprockets/base.rb:66:in `find_asset' sprockets
(3.6.0) lib/sprockets/base.rb:73:in `find_all_linked_assets' sprockets
(3.6.0) lib/sprockets/manifest.rb:142:in `block in find' sprockets
(3.6.0) lib/sprockets/legacy.rb:114:in `block (2 levels) in
logical_paths' sprockets (3.6.0) lib/sprockets/path_utils.rb:223:in
`block in stat_tree' sprockets (3.6.0)
lib/sprockets/path_utils.rb:207:in `block in stat_directory' sprockets
(3.6.0) lib/sprockets/path_utils.rb:204:in `each' sprockets (3.6.0)
lib/sprockets/path_utils.rb:204:in `stat_directory' sprockets (3.6.0)
lib/sprockets/path_utils.rb:222:in `stat_tree' sprockets (3.6.0)
lib/sprockets/legacy.rb:105:in `each' sprockets (3.6.0)
lib/sprockets/legacy.rb:105:in `block in logical_paths' sprockets
(3.6.0) lib/sprockets/legacy.rb:104:in `each' sprockets (3.6.0)
lib/sprockets/legacy.rb:104:in `logical_paths' sprockets (3.6.0)
lib/sprockets/manifest.rb:140:in `find' sprockets-rails (3.0.4)
lib/sprockets/railtie.rb:49:in `each' sprockets-rails (3.0.4)
lib/sprockets/railtie.rb:49:in `map' sprockets-rails (3.0.4)
lib/sprockets/railtie.rb:49:in `precompiled_assets' sprockets-rails
(3.0.4) lib/sprockets/railtie.rb:34:in `asset_precompiled?'
sprockets-rails (3.0.4) lib/sprockets/railtie.rb:214:in `block (3
levels) in <class:Railtie>' sprockets-rails (3.0.4)
lib/sprockets/rails/helper.rb:345:in `call' sprockets-rails (3.0.4)
lib/sprockets/rails/helper.rb:345:in `precompiled?' sprockets-rails
(3.0.4) lib/sprockets/rails/helper.rb:349:in
`raise_unless_precompiled_asset' sprockets-rails (3.0.4)
lib/sprockets/rails/helper.rb:334:in `find_debug_asset'
sprockets-rails (3.0.4) lib/sprockets/rails/helper.rb:216:in `block in
lookup_debug_asset' sprockets-rails (3.0.4)
lib/sprockets/rails/helper.rb:229:in `block in resolve_asset'
sprockets-rails (3.0.4) lib/sprockets/rails/helper.rb:228:in `each'
sprockets-rails (3.0.4) lib/sprockets/rails/helper.rb:228:in `detect'
sprockets-rails (3.0.4) lib/sprockets/rails/helper.rb:228:in
`resolve_asset' sprockets-rails (3.0.4)
lib/sprockets/rails/helper.rb:215:in `lookup_debug_asset'
sprockets-rails (3.0.4) lib/sprockets/rails/helper.rb:157:in `block in
stylesheet_link_tag' sprockets-rails (3.0.4)
lib/sprockets/rails/helper.rb:156:in `map' sprockets-rails (3.0.4)
lib/sprockets/rails/helper.rb:156:in `stylesheet_link_tag'
app/views/layouts/application.html.erb:5:in
`_app_views_layouts_application_html_erb__347772551_45585852'
actionview (4.2.6) lib/action_view/template.rb:145:in `block in
render' activesupport (4.2.6)
lib/active_support/notifications.rb:166:in `instrument' actionview
(4.2.6) lib/action_view/template.rb:333:in `instrument' actionview
(4.2.6) lib/action_view/template.rb:143:in `render' actionview (4.2.6)
lib/action_view/renderer/template_renderer.rb:66:in
`render_with_layout' actionview (4.2.6)
lib/action_view/renderer/template_renderer.rb:52:in `render_template'
actionview (4.2.6) lib/action_view/renderer/template_renderer.rb:14:in
`render' actionview (4.2.6) lib/action_view/renderer/renderer.rb:46:in
`render_template' actionview (4.2.6)
lib/action_view/renderer/renderer.rb:27:in `render' actionview (4.2.6)
lib/action_view/rendering.rb:100:in `_render_template' actionpack
(4.2.6) lib/action_controller/metal/streaming.rb:217:in
`_render_template' actionview (4.2.6)
lib/action_view/rendering.rb:83:in `render_to_body' actionpack (4.2.6)
lib/action_controller/metal/rendering.rb:32:in `render_to_body'
actionpack (4.2.6) lib/action_controller/metal/renderers.rb:37:in
`render_to_body' actionpack (4.2.6)
lib/abstract_controller/rendering.rb:25:in `render' actionpack (4.2.6)
lib/action_controller/metal/rendering.rb:16:in `render' actionpack
(4.2.6) lib/action_controller/metal/instrumentation.rb:44:in `block (2
levels) in render' activesupport (4.2.6)
lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
c:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/benchmark.rb:303:in
`realtime' activesupport (4.2.6)
lib/active_support/core_ext/benchmark.rb:12:in `ms' actionpack (4.2.6)
lib/action_controller/metal/instrumentation.rb:44:in `block in render'
actionpack (4.2.6)
lib/action_controller/metal/instrumentation.rb:87:in
`cleanup_view_runtime' activerecord (4.2.6)
lib/active_record/railties/controller_runtime.rb:25:in
`cleanup_view_runtime' actionpack (4.2.6)
lib/action_controller/metal/instrumentation.rb:43:in `render'
actionpack (4.2.6)
lib/action_controller/metal/implicit_render.rb:10:in `default_render'
actionpack (4.2.6) lib/action_controller/metal/implicit_render.rb:5:in
`send_action' actionpack (4.2.6)
lib/abstract_controller/base.rb:198:in `process_action' actionpack
(4.2.6) lib/action_controller/metal/rendering.rb:10:in
`process_action' actionpack (4.2.6)
lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (4.2.6) lib/active_support/callbacks.rb:117:in `call'
activesupport (4.2.6) lib/active_support/callbacks.rb:117:in `call'
activesupport (4.2.6) lib/active_support/callbacks.rb:555:in `block (2
levels) in compile' activesupport (4.2.6)
lib/active_support/callbacks.rb:505:in `call' activesupport (4.2.6)
lib/active_support/callbacks.rb:505:in `call' activesupport (4.2.6)
lib/active_support/callbacks.rb:92:in `__run_callbacks__'
activesupport (4.2.6) lib/active_support/callbacks.rb:778:in
`_run_process_action_callbacks' activesupport (4.2.6)
lib/active_support/callbacks.rb:81:in `run_callbacks' actionpack
(4.2.6) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.2.6) lib/action_controller/metal/rescue.rb:29:in
`process_action' actionpack (4.2.6)
lib/action_controller/metal/instrumentation.rb:32:in `block in
process_action' activesupport (4.2.6)
lib/active_support/notifications.rb:164:in `block in instrument'
activesupport (4.2.6)
lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.2.6) lib/active_support/notifications.rb:164:in
`instrument' actionpack (4.2.6)
lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.2.6)
lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.2.6)
lib/active_record/railties/controller_runtime.rb:18:in
`process_action' actionpack (4.2.6)
lib/abstract_controller/base.rb:137:in `process' actionview (4.2.6)
lib/action_view/rendering.rb:30:in `process' actionpack (4.2.6)
lib/action_controller/metal.rb:196:in `dispatch' actionpack (4.2.6)
lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.2.6) lib/action_controller/metal.rb:237:in `block in
action' actionpack (4.2.6)
lib/action_dispatch/routing/route_set.rb:74:in `call' actionpack
(4.2.6) lib/action_dispatch/routing/route_set.rb:74:in `dispatch'
actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:43:in
`serve' actionpack (4.2.6) lib/action_dispatch/journey/router.rb:43:in
`block in serve' actionpack (4.2.6)
lib/action_dispatch/journey/router.rb:30:in `each' actionpack (4.2.6)
lib/action_dispatch/journey/router.rb:30:in `serve' actionpack (4.2.6)
lib/action_dispatch/routing/route_set.rb:817:in `call' rack (1.6.4)
lib/rack/etag.rb:24:in `call' rack (1.6.4)
lib/rack/conditionalget.rb:25:in `call' rack (1.6.4)
lib/rack/head.rb:13:in `call' actionpack (4.2.6)
lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.2.6) lib/action_dispatch/middleware/flash.rb:260:in
`call' rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call' actionpack
(4.2.6) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.2.6) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.2.6)
lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in
`call' activerecord (4.2.6) lib/active_record/migration.rb:377:in
`call' actionpack (4.2.6)
lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.2.6) lib/active_support/callbacks.rb:88:in
`__run_callbacks__' activesupport (4.2.6)
lib/active_support/callbacks.rb:778:in `_run_call_callbacks'
activesupport (4.2.6) lib/active_support/callbacks.rb:81:in
`run_callbacks' actionpack (4.2.6)
lib/action_dispatch/middleware/callbacks.rb:27:in `call' actionpack
(4.2.6) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.2.6) lib/action_dispatch/middleware/remote_ip.rb:78:in
`call' actionpack (4.2.6)
lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
web-console (2.3.0) lib/web_console/middleware.rb:28:in `block in
call' web-console (2.3.0) lib/web_console/middleware.rb:18:in `catch'
web-console (2.3.0) lib/web_console/middleware.rb:18:in `call'
actionpack (4.2.6)
lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.2.6) lib/rails/rack/logger.rb:38:in `call_app' railties
(4.2.6) lib/rails/rack/logger.rb:20:in `block in call' activesupport
(4.2.6) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.2.6) lib/active_support/tagged_logging.rb:26:in
`tagged' activesupport (4.2.6)
lib/active_support/tagged_logging.rb:68:in `tagged' railties (4.2.6)
lib/rails/rack/logger.rb:20:in `call' actionpack (4.2.6)
lib/action_dispatch/middleware/request_id.rb:21:in `call' rack (1.6.4)
lib/rack/methodoverride.rb:22:in `call' rack (1.6.4)
lib/rack/runtime.rb:18:in `call' activesupport (4.2.6)
lib/active_support/cache/strategy/local_cache_middleware.rb:28:in
`call' rack (1.6.4) lib/rack/lock.rb:17:in `call' actionpack (4.2.6)
lib/action_dispatch/middleware/static.rb:120:in `call' rack (1.6.4)
lib/rack/sendfile.rb:113:in `call' railties (4.2.6)
lib/rails/engine.rb:518:in `call' railties (4.2.6)
lib/rails/application.rb:165:in `call' rack (1.6.4)
lib/rack/lock.rb:17:in `call' rack (1.6.4)
lib/rack/content_length.rb:15:in `call' rack (1.6.4)
lib/rack/handler/webrick.rb:88:in `service'
c:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/webrick/httpserver.rb:138:in
`service'
c:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/webrick/httpserver.rb:94:in
`run'
c:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/webrick/server.rb:294:in
`block in start_thread'

Upvotes: 3

Views: 154

Answers (2)

wlads
wlads

Reputation: 777

Rails uses lots of conventions, for instance, the route reference welcome#index will refer to a controller named WelcomeController and call a method named index.

You have to create a controller app/controllers/welcome_controller.rb like this:

class WelcomeController < ApplicationController
  def index
    render text:"hello world!"
  end
end

Now you'll be able to see the "hellow world!" text in the root's route.

You can also use a generator to create the controller executing in the terminal: rails generate controller welcome index.

Another convention is the controller's method index without render will delivery the view app/views/welcome/index.html.erb.

Check more about rendering in this guide: layouts and rendering

Upvotes: 2

Scott Swezey
Scott Swezey

Reputation: 2127

This error is likely caused by a lack of welcome_controller.rb file defining WelcomeController in app/controllers.

This doc may be helpful in getting started: http://guides.rubyonrails.org/action_controller_overview.html#controller-naming-convention

Upvotes: 3

Related Questions