运行RubyMine 2016.2.4。这个项目有一个"全球"单身人士称为$environment
。在整个代码库中,此文件require_relative
可以访问运行时依赖项。 RubyMine正在展示" Unresolved Ruby Reference"对于使用此全局的类中的$environment
的每个实例。
模拟environment.rb
文件的外观:
require 'singleton'
class Environment
include Singleton
def log
...
end
end
$environment ||= Environment.instance
RubyMine抱怨的示例用法:
require_relative '../environment'
class FancyWorker
def run
...
$environment.log.info 'Running!'
end
end
我尝试过如何在RubyMine中解决此检查问题无济于事。我不想禁用检查,因为它对查找合法问题很有用 - 但这不是一个合法的问题。
(请关注全局变量对自己不好的评论,我没做出那个设计决定 - 我只是想帮助RubyMine理解参考。)
答案 0 :(得分:1)
我认为您在RubyMine上发现了一个错误。尝试更改:
$environment ||= Environment.instance
为:
$environment = $environment || Environment.instance
或者如果您确定不会在其他任何地方定义$environment
,请指定它。