2014-10-29 79 views

回答

15

简短的回答
你没有做错什么。现在,这是最好的鲁米姬可以做的。

稍长回答
正如你可能知道,红宝石可以是一个非常动态的语言。 Devise严重依赖于该语言的元编程功能。帮助程序(如current_user)在运行时生成,从而使Rubymine的静态分析功能无效。

Rubymine需要特别支持Devise,据我所知,它不会。

+0

也许有提供一些虚拟方法某处拿到类型提示和代码完成不破坏的方法的功能的可能性? – 2015-02-17 08:37:14

+0

我已经使用RubyMine已经有4年了,我猜这种问题还没有可能的解决方案。正如我所看到的唯一可能的解决方案,RubyMine可以使用调试器来保存所有应用程序状态和所有方法,然后在插值时使用它们,但我认为它不会在最近的将来或将来完成。 :) – 2015-02-17 12:18:30

+0

@sreuter据我所知这是不可能的,虽然这将是一个很酷的功能。 – 2015-02-17 17:17:35

11

尽管这是显而易见的,你可以把

def current_user 
    super 
end 

你的ApplicationController至少避免所有控制器未定义的方法警告。我没有成功告诉RubyMine的自动完成功能使用码:

# @return [User] 
def current_user 
    super 
end 
+0

谢谢你的男人! :) – SlyDeath 2015-07-22 20:49:51

+1

刚刚试过这个使用IntelliJ 15的院子和自动填充通过院子为我工作!通过向ApplicationHelper添加同样的东西,您也可以在视图中使用自动完成功能。 – xeorem 2016-02-23 10:47:58