简体   繁体   English

ruby on rails 入门问题

[英]Trouble with getting started with ruby on rails

I have never used ruby and thought I would give it a shot.我从未使用过 ruby​​,并认为我会试一试。 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.在我使用rails server创建rails server并设置路由后,麻烦就开始了,这样新项目就会出现,而不是 ruby​​ 欢迎屏幕。 The error it produces is它产生的错误是

uninitialized constant WelcomeController未初始化的常量 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我正在使用 installrails.com 上的说明在 Windows 7 上设置 rails

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'

This error is likely caused by a lack of welcome_controller.rb file defining WelcomeController in app/controllers .此错误可能是由于app/controllers缺少定义WelcomeControllerwelcome_controller.rb文件造成的。

This doc may be helpful in getting started: http://guides.rubyonrails.org/action_controller_overview.html#controller-naming-convention该文档可能有助于入门: http : //guides.rubyonrails.org/action_controller_overview.html#controller-naming-convention

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 . Rails 使用了很多约定,例如,路由引用welcome#index将引用名为WelcomeController的控制器并调用名为index的方法。

You have to create a controller app/controllers/welcome_controller.rb like this:你必须像这样创建一个控制器app/controllers/welcome_controller.rb

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 .您还可以使用生成器来创建在终端中执行的控制器: 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 .另一个约定是没有渲染的控制器方法索引将交付视图app/views/welcome/index.html.erb

Check more about rendering in this guide: layouts and rendering在本指南中查看有关渲染的更多信息:布局和渲染

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM