Wenn ich die in RubyMine verwende, sehe ich keine automatische Vervollständigung für Helfer (wie current_user, destroy_user_session_path, etc.). Es ist sehr schlecht :( Kann mir jemand helfen :)Wie kann ich meine RubyMine mit dem Devise-Juwel konfigurieren?
16
A
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.
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
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 ?! –
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. :) –
@sreuter Soweit ich weiß ist es nicht möglich, obwohl es ein cooles Feature wäre. –