【问题标题】:Unresolved ruby reference in RubyMineRubyMine 中未解决的 ruby​​ 引用
【发布时间】:2011-07-10 21:56:36
【问题描述】:

有什么方法可以避免 RubyMine IDE 中的“未解析的 ruby​​ 引用”警告? 例如,当我的视图中的某些代码调用视图助手的方法时,即使代码有效,我也会收到“未解析的 ruby​​ 引用”警告。

上述案例只是众多案例之一。 另一个例子是使用 RSpec 时:

  it "should require an email" do
    no_email_user = User.new(@attr.merge(:email => ""))
    no_email_user.should_not be_valid
  end

RubyMine IDE 不知道参数“be_valid”。

我的问题是 - 有没有办法解决这个问题?我需要额外的文件吗?我应该做些不同的事情吗? 那些关于未解决的 ruby​​ 方法/常量的误报确实令人不安,而且它也影响了 RubyMine 中“查找用法”操作的结果。

我正在使用 RubyMine 3.1 我真的很感激在解决这个问题方面的任何帮助。

【问题讨论】:

  • 我刚刚安装了适用于 Linux 的 RubyMine 3.1,使用 Windows 风格的 click->click->Finish 样式,启动它(修复了 Java,如前所述),创建了一个新的空项目,看起来 Inspection 不是工作。我曾经有一个简单的“puts 'hello Worlds'”,它触发了一个“Unresolved Ruby reference”。接下来,我创建了一个新方法(这并没有触发错误),但是当我想调用它时,调用方法名称触发了错误。否则脚本运行正常。

标签: ruby-on-rails ruby rubymine


【解决方案1】:

这个问题是already submitted RubyMine 错误跟踪器,请观看/投票。

【讨论】:

  • ...仍然没有解决方案。
  • 嘿,现在是 2017 年,你猜怎么着? Cannot find your stuff that still works...
【解决方案2】:

我认为在这种情况下这很难解决。 Ruby 允许使用 method_missing 发生巨大的魔法,据我所知,be_valid 也是以这种方式实现的。实际上没有be_valid,但它调用了valid?方法并期望它是真的。

在 rspec 中,这适用于任何以 ? 结尾的方法。所以如果你有一个方法ready?,你可以写should be_ready

我是 Rubymine 的全职用户,但我不知道他们如何解决这个问题,我也不期望它。

【讨论】:

  • 好的,我明白了,谢谢。但是视图助手中被视为未解析的视图引用的方法呢?
  • 啊,我认为这是 Rubymine 3.1.1 中的一个错误。这似乎在以前的版本中有效,您可以在他们的错误跟踪器中找到它:youtrack.jetbrains.net/issue/RUBY-7983,它链接到youtrack.jetbrains.net/issue/RUBY-7684。所以我想它很快就会修复。
【解决方案3】:

要关闭您在 RubyMine 3.1 中收到的警告,我认为这可能是您最初的问题,您需要转到 File->Preferences。然后,在左侧,转到“检查”。打开“Ruby”部分并取消选中“Unresolved Ruby Reference”。首选项是可搜索的,因此,如果您遇到类似的其他人,您可以尝试搜索。祝你好运!

【讨论】:

  • 我不想关闭警告,因为真正的问题不是警告,而是方法调用不算作 RubyMine 的引用这一事实(例如 - 它不当我重构/重命名原始方法时考虑此方法调用...
猜你喜欢
  • 2016-06-24
  • 2015-05-17
  • 1970-01-01
  • 2016-10-12
  • 1970-01-01
  • 2017-05-10
  • 2018-01-23
  • 2021-10-03
  • 1970-01-01
相关资源
最近更新 更多