Ruby on rails 未初始化的常量ActionController::Dispatcher::MiddlewareStack
我安装了一些新的gems进行测试,并遇到了一个未初始化的常量ActionController::Dispatcher::MiddlewareStack错误。我按照gemrdocs上的说明在我的environment.rb文件中指定gem依赖项,然后运行rake gems:install和rake gems:unpack 我还将environment.rb文件一次复制一行到另一个项目中,但没有得到错误。我想知道还有什么事情会出错 下面是一个较长版本的错误(我第一次在运行一个简单测试时遇到错误;当我确实需要“active_support”时,在控制台中也会发生同样的情况): 以下是my environment.rb文件(已删除默认注释):Ruby on rails 未初始化的常量ActionController::Dispatcher::MiddlewareStack,ruby-on-rails,environment,actioncontroller,Ruby On Rails,Environment,Actioncontroller,我安装了一些新的gems进行测试,并遇到了一个未初始化的常量ActionController::Dispatcher::MiddlewareStack错误。我按照gemrdocs上的说明在我的environment.rb文件中指定gem依赖项,然后运行rake gems:install和rake gems:unpack 我还将environment.rb文件一次复制一行到另一个项目中,但没有得到错误。我想知道还有什么事情会出错 下面是一个较长版本的错误(我第一次在运行一个简单测试时遇到错误;当我
我以前写过一些误导性的信息,但是,现在我设法坐下来不受干扰地看了几分钟,我通过编辑我的environment.rb修复了我的问题,并将require“has\u polymorphs”语句移动到初始值设定项块之后
宾果。我很努力地面对palmed,但这就是我们学习的方式。遵循这一思路已经有一段时间了-ric上面的答案在开发过程中对我们有用,但切换到生产模式导致了一个错误。将require放回初始值设定项块上方,并使用Ric的原始修复程序,效果很好。他的编辑已经删除了它-所以对于后面的任何人来说,这里又是:顺便说一句-我们现在在hmp上使用trunk,而不是johnsbrn分支,现在2.3.2似乎工作得很好 编辑:它几乎解决了我的问题。后来我发现迁移也出现了类似的问题。看完代码后,我很快找到了答案,其中包括需要缺少的类(action\u controller/middleware\u stack) 快速修复方法是在相对路径下编辑文件: “johnsbrn-has_many_polymorphs/lib/has_many_polymorphs/autoload.rb” 并在前两行之间插入以下行: 除非定义,否则需要“操作\控制器/中间件\堆栈”:ActionController::MiddlewareStack e、 g.结果是这样的: 除非定义,否则需要“初始值设定项”:Rails::初始值设定项 除非定义,否则需要“操作\控制器/中间件\堆栈”:ActionController::MiddlewareStack 除非定义,否则需要“控制器/调度器操作”:ActionController::Dispatcher 现在一切正常。在environment.rb中:
require File.join(File.dirname(__FILE__), 'boot')
require 'action_controller/middleware_stack' unless defined? ::ActionController::MiddlewareStack
require 'has_many_polymorphs'
适用于我如果其他人像我一样浏览此页面,我只需将我的has_many_polymorphs gem从1.12.1升级到1.13,并将其重新冻结到我的供应商文件夹(并更新environment.rb中的config.gem行以使用新版本号)即可解决此问题.我认为这与要求“有许多变形”的线条有关。我在谷歌上搜索了rails 2.3.2的“有很多变形”兼容性,但没有找到任何确定的东西。你试过一次安装一个gem吗?另外,你可能想创造一个新的秘密,现在你已经和我们大家分享了:P.这对我来说很有效,尽管它与has_many_polymorphs documentation.oops相反-很抱歉。还没来得及在生产模式下尝试它(开发周期长!)
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
# config.gem 'has_many_polymorphs', :version => "2.12"
# require ‘has_many_polymorphs‘
# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')
require 'has_many_polymorphs'
require 'active_support'
Rails::Initializer.run do |config|
config.time_zone = 'UTC'
config.gem "thoughtbot-factory_girl",
:lib => "factory_girl",
:source => "http://gems.github.com"
config.gem 'thoughtbot-shoulda',
:lib => false,
:source => 'http://gems.github.com'
end
require File.join(File.dirname(__FILE__), 'boot')
require 'action_controller/middleware_stack' unless defined? ::ActionController::MiddlewareStack
require 'has_many_polymorphs'