如何使用devise gem配置我的RubyMine?

问题描述 投票:16回答:2

当我在RubyMine中使用它时,我没有看到帮助程序的自动完成(如current_user,destroy_user_session_path等)。这是非常糟糕的:(有人可以帮助我吗?:)

ruby-on-rails devise rubymine helpers
2个回答
17
投票

简短回答: 你没有做错任何事。现在,它是最好的Rubymine可以做到的。

答案稍长一点: 您可能知道,Ruby可以是一种非常动态的语言。 Devise在很大程度上依赖于语言的元编程功能。诸如current_user之类的助手是在运行时生成的,这使得Rubymine的静态分析功能无效。

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


15
投票

即使很明显,你也可以

def current_user
  super
end

到您的ApplicationController至少避免在所有控制器中的未定义方法警告。我没有成功告诉RubyMine使用YARD自动完成:

# @return [User]
def current_user
  super
end

更新:P.S。如果在没有YARD注释的情况下使用,最好让其他开发人员知道需要使用此方法的原因。否则它将被删除或至少被其他人质疑。

更新2019-02-26:由于YARD评论,代码导航至少在2018.3.4工作

© www.soinside.com 2019 - 2024. All rights reserved.