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

时间:2014-10-29 20:43:22

标签: ruby-on-rails devise rubymine helpers

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

2 个答案:

答案 0 :(得分:17)

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

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

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

答案 1 :(得分:15)

即使很明显,你也可以把

def current_user
  super
end

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

# @return [User]
def current_user
  super
end

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

更新2019-02-26: 由于YARD评论

,代码导航至少在2018.3.4中起作用