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

Саш*_*льф 16 ruby-on-rails rubymine helpers devise

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

bon*_*oth 18

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

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

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

  • Laravel 有 https://github.com/barryvdh/laravel-ide-helper 用于动态方法,我想知道为什么没有人为 Rails 做过这样的事情。 (2认同)

Art*_*jev 15

即使很明显,你也可以

def current_user
  super
end
Run Code Online (Sandbox Code Playgroud)

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

# @return [User]
def current_user
  super
end
Run Code Online (Sandbox Code Playgroud)

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

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