Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Heroku-现有控制器的未初始化常量名称错误_Ruby On Rails_Heroku_Deployment_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Heroku-现有控制器的未初始化常量名称错误

Ruby on rails Heroku-现有控制器的未初始化常量名称错误,ruby-on-rails,heroku,deployment,ruby-on-rails-4,Ruby On Rails,Heroku,Deployment,Ruby On Rails 4,花了很多时间试图找到这个答案的解决方案,但没有结果 Heroku在尝试部署时给了我一个错误。无论出于何种原因,当我尝试包括我的操作控制器时,它给了我一个“未初始化常量V1::BaseController(NameError)”。它在本地工作,但无法推送到heroku。当我在本地和heroku上移除动作控制器时,具有相同行的所有其他控制器都工作 以下是heroku的具体错误: 2014-01-17T08:53:46.149322+00:00 app[web.1]: from /app/ven

花了很多时间试图找到这个答案的解决方案,但没有结果

Heroku在尝试部署时给了我一个错误。无论出于何种原因,当我尝试包括我的操作控制器时,它给了我一个“未初始化常量V1::BaseController(NameError)”。它在本地工作,但无法推送到heroku。当我在本地和heroku上移除动作控制器时,具有相同行的所有其他控制器都工作

以下是heroku的具体错误:

2014-01-17T08:53:46.149322+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.2/lib/rails/engine.rb:465:in `block (2 levels) in eager_load!'
2014-01-17T08:53:46.149322+00:00 app[web.1]: /app/app/controllers/V1/actions_controller.rb:1:in `<top (required)>': uninitialized constant V1::BaseController (NameError)
2014-01-17T08:53:46.149322+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.2/lib/rails/engine.rb:464:in `each'
2014-01-17T08:53:46.149322+00:00应用程序[web.1]:from/app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.2/lib/rails/engine.rb:465:in“块(2层)中的急切加载!”
2014-01-17T08:53:46.149322+00:00应用程序[web.1]:/app/app/controllers/V1/actions\u controller.rb:1:in`':未初始化常量V1::BaseController(名称错误)
2014-01-17T08:53:46.149322+00:00应用程序[web.1]:from/app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.2/lib/rails/engine.rb:464:in'each'
actions_controller.rb

class V1::ActionsController < V1::BaseController
class V1::BaseController < ApplicationController
   ...
end
class V1::ActionsController
会话_controller.rb(在注释掉操作_controller.rb时正确部署和工作)

class V1::SessionController
base_controller.rb

class V1::ActionsController < V1::BaseController
class V1::BaseController < ApplicationController
   ...
end
classv1::BaseController
我检查了我的模型,看看是否有任何错误。有人对如何修复/调试有什么建议吗?谢谢

更新:


我通过将ActionsController的名称更改为LogsController解决了我的问题。这似乎是某种命名问题,BaseController需要始终按字母顺序首先加载

似乎
actionscoontroller
是在
BaseController
之前加载的,您可以通过mixin轻松避免它,您可以将其作为模块存储到库中,以感谢insight@majioa。我花了一些时间寻找更多的信息,但没有用。你能给我指一下正确的方向吗?谢谢您是否非常需要
V1
名称空间?对于rails来说,这可能真的很混乱。