2017-10-21 123 views
0

后,会生成三个文件:app/controllers/say_controller.rb和两个.erb.html文件 当我搜索的网址:本地主机:3000 /说/招呼它返回:未初始化的常量的ApplicationController

Uninitialized Constant ApplicationController例外。

say_controller.rb

类:Say_Controller <的ApplicationController

def: hello 
end: 
def: goodbye 
end 

末:

按几次要求重新格式化我的问题,包括正确的嵌套。这是.rb文件的外观。

+0

Rails.root:/ home/josh/Documents/ruby​​s/work/demo Application Trace |框架跟踪|完整跟踪 app/controllers/say_controller.rb:1:在' 路线 – jcane

+0

1)什么是您的'application_controller.rb'的文件名+文件路径? 2)另外,你可以显示你的'application_controller.rb'吗? 3)你能特别在第一行显示你的'say_controller.rb'吗? (表明它扩展了什么类)。 –

+0

say_controller:类SayController jcane

回答

0

听起来像你删除了ApplicationController,它住在application_controller.rb。这是你产生任何其他控制器的基础,这就是为什么say_controller.rb开始是这样的:

class SayController < ApplicationController 

当你删除say_controller.rb,是有可能你删除application_controller.rb?如果是这样,并且你使用git来跟踪文件,你可以恢复被删除的文件。否则,你可能应该生成一个新的Rails项目。

+0

罗宾,感谢您的答案。我还使用了rails命令destroy controller来撤消原始命令,然后再次重新输入rails generate controller命令创建一个新的控制器后,仍然收到相同的错误消息。它的疯狂,因为控制器是它应该与HTML文件一起。我如何使用git来做你所说的? – jcane

+0

@ jcane你有一个'app/controllers/application_controller.rb'文件吗?该文件是在创建新的Rails应用程序时生成的。如果你删除它,你需要恢复它。如果你没有使用Git来首先跟踪文件,你将无法恢复文件。我建议生成一个新的Rails项目并从那里复制'application_controller.rb'。 –

+0

我有say_controller.rb文件。一旦我用destroy命令拿走了旧的控制器,我不应该用新的rails generate命令生成一个新的控制器吗?此外,我从来没有看到一个application_controller.rb只有say_controller.rb。 – jcane

相关问题