Quando uso quello in RubyMine non vedo il completamento automatico per gli helper (come current_user, destroy_user_session_path, ecc.). E 'molto male :( Qualcuno mi può aiutare :)Come posso configurare RubyMine con devise gem?
16
A
risposta
15
Risposta breve:?
Non stai facendo nulla di male. In questo momento, è il miglior Rubino che può fare.
Leggermente più lungo rispondere:
Come probabilmente sapete, Ruby può essere un linguaggio molto dinamica. Devise fa molto affidamento sulle capacità di metaprogrammazione del linguaggio. Gli helper, come current_user
, vengono generati in fase di runtime, rendendo inefficienti le capacità di analisi statica di Rubymine.
Rubino avrebbe bisogno di un supporto speciale per Devise e, per quanto ne so, non lo è.
11
Anche se è ovvio, si può mettere
def current_user
super
end
al ApplicationController almeno per evitare di metodo di avvertimento non definito in tutti i controllori. Non ho avuto successo dicendo RubyMine per completare automaticamente utilizzando cantiere:
# @return [User]
def current_user
super
end
Forse c'è la possibilità di fornire alcuni metodi fittizi da qualche parte per ottenere il tipo hinting e il completamento del codice senza rompere la funzionalità dei metodi ?! –
Sto usando RubyMine già da 4 anni, e suppongo che non ci siano ancora possibili soluzioni per questo tipo di problemi. L'unica soluzione possibile, come posso vedere, è che RubyMine può utilizzare il debugger per salvare tutti gli stati dell'applicazione con tutti i metodi e quindi utilizzarli durante l'interpolazione, ma non penso che verrà fatto nel prossimo futuro o mai. :) –
@sreuter Per quanto ne so non è possibile, anche se sarebbe una caratteristica interessante. –