當我使用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