2014-10-29 77 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