当我使用RubyMine中的一个时,我看不到helpers的自动完成(如current_user,destroy_user_session_path等)。 这是非常糟糕:( 有人可以帮助我:)如何配置我的RubyMine与设计宝石?
16
A
回答
15
简短的回答:
你没有做错什么。现在,这是最好的鲁米姬可以做的。
稍长回答:
正如你可能知道,红宝石可以是一个非常动态的语言。 Devise严重依赖于该语言的元编程功能。帮助程序(如current_user
)在运行时生成,从而使Rubymine的静态分析功能无效。
Rubymine需要特别支持Devise,据我所知,它不会。
11
尽管这是显而易见的,你可以把
def current_user
super
end
你的ApplicationController至少避免所有控制器未定义的方法警告。我没有成功告诉RubyMine的自动完成功能使用码:
# @return [User]
def current_user
super
end
也许有提供一些虚拟方法某处拿到类型提示和代码完成不破坏的方法的功能的可能性? – 2015-02-17 08:37:14
我已经使用RubyMine已经有4年了,我猜这种问题还没有可能的解决方案。正如我所看到的唯一可能的解决方案,RubyMine可以使用调试器来保存所有应用程序状态和所有方法,然后在插值时使用它们,但我认为它不会在最近的将来或将来完成。 :) – 2015-02-17 12:18:30
@sreuter据我所知这是不可能的,虽然这将是一个很酷的功能。 – 2015-02-17 17:17:35