2014-10-29 13 views

Antwort

15

Kurze Antwort:
Sie nichts falsch machen. Im Moment ist es das Beste, was Rubymine kann.

Etwas länger beantworten:
Wie Sie wahrscheinlich wissen, kann Ruby eine sehr dynamische Sprache. Devise stützt sich stark auf die Metaprogrammierungsfähigkeiten der Sprache. Die Helfer, wie zum Beispiel current_user, werden zur Laufzeit erzeugt, was die statischen Analysefähigkeiten von Rubymine unwirksam macht.

Rubymine müsste spezielle Unterstützung für Devise haben und, soweit ich weiß, tut es einfach nicht.

+0

Vielleicht gibt es eine Möglichkeit, einige Dummy-Methoden irgendwo zu bieten Type Hinting und Code-Vervollständigung zu erhalten, ohne die Funktionalität der Methoden zu brechen ?! –

+0

Ich benutze RubyMine schon seit 4 Jahren, und ich denke, es gibt noch keine Lösungen für diese Art von Problemen. Die einzige mögliche Lösung, wie ich sehen kann, RubyMine könnte Debugger verwenden, um alle Anwendungszustände mit allen Methoden zu speichern, und sie dann während der Interpolation verwenden, aber ich denke nicht, dass es in der nächsten Zukunft oder überhaupt getan wird. :) –

+0

@sreuter Soweit ich weiß ist es nicht möglich, obwohl es ein cooles Feature wäre. –

11

Auch wenn es offensichtlich ist, können Sie

def current_user 
    super 
end 

auf Ihre Applicationzumindest setzen zu undefinierten Methode Warnung in allen Controllern zu vermeiden. Ich hatte keinen Erfolg RubyMine sagen, mit Hof automatisch zu vervollständigen:

# @return [User] 
def current_user 
    super 
end 
+0

Danke Mann! :) – SlyDeath

+1

Probieren Sie einfach dieses mit Yard mit IntelliJ 15 und die Autocomplete über Hof arbeitete für mich! Sie können die automatische Vervollständigung auch in Ansichten aufrufen, indem Sie ApplicationHelper dasselbe hinzufügen. – xeorem