4 ruby ruby-on-rails ruby-on-rails-4
我正在尝试学习Rails 4框架并遵循官方文档
我运行了以下命令:
rails new fold
Run Code Online (Sandbox Code Playgroud)
它创建了一个新项目
rails generate controller home index
Run Code Online (Sandbox Code Playgroud)
它生成一个home_controller和views/home/index.html.erb
内容home_controller:
class HomeController < ApplicationController
def index
end
end
Run Code Online (Sandbox Code Playgroud)
对于路由我添加了以下代码routes.rb
get 'home/index' => 'home#index'
Run Code Online (Sandbox Code Playgroud)
运行应用程序后我得到:
uninitialized constant ApplicationController
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?这里是Stacktrace
app/controllers/home_controller.rb:1:in `<top (required)>'
activesupport (4.2.4) lib/active_support/inflector/methods.rb:261:in `const_get'
activesupport (4.2.4) lib/active_support/inflector/methods.rb:261:in `block in constantize'
activesupport (4.2.4) lib/active_support/inflector/methods.rb:259:in `each'
activesupport (4.2.4) lib/active_support/inflector/methods.rb:259:in `inject'
activesupport (4.2.4) lib/active_support/inflector/methods.rb:259:in `constantize'
actionpack (4.2.4) lib/action_dispatch/routing/route_set.rb:72:in `controller_reference'
actionpack (4.2.4) lib/action_dispatch/routing/route_set.rb:62:in `controller'
actionpack (4.2.4) lib/action_dispatch/routing/route_set.rb:41:in `serve'
actionpack (4.2.4) lib/action_dispatch/journey/router.rb:43:in `block in serve'
actionpack (4.2.4) lib/action_dispatch/journey/router.rb:30:in `each'
actionpack (4.2.4) lib/action_dispatch/journey/router.rb:30:in `serve'
actionpack (4.2.4) lib/action_dispatch/routing/route_set.rb:821:in `call'
Run Code Online (Sandbox Code Playgroud)
代码有什么问题吗?
小智 5
您有application.rb文件吗?该文件应该位于app/controllers内部。所有其他控制器都继承自该控制器。最小的设置如下所示:
class ApplicationController < ActionController::Base
end
Run Code Online (Sandbox Code Playgroud)