Когда я использую одно в RubyMine, я не вижу автозаполнения для помощников (например, current_user, destroy_user_session_path и т. Д.). Это очень плохо :( Может кто-нибудь мне помочь :)Как я могу настроить RubyMine с помощью gem?
16
A
ответ
15
Короткий ответ:
Вы не делаете ничего плохого. Прямо сейчас, это лучший Рубимин.
Чуть больше ответить:
Как вы, наверное, знаете, Ruby может быть очень динамичным языком. Усовершенствование в значительной степени зависит от возможностей метапрограммирования языка. Помощники, такие как current_user
, генерируются во время выполнения, предоставляя возможности статического анализа Rubyine неэффективными.
У Rubymine должна быть специальная поддержка Devise, и, насколько я знаю, это просто не так.
11
Несмотря на то, что это очевидно, вы можете положить
def current_user
super
end
к вашему ApplicationController, по крайней мере, чтобы избежать неопределенного предупреждения метода во всех контроллерах. Я не имел никакого успеха, говоря RubyMine автозаполнения, используя двор:
# @return [User]
def current_user
super
end
Может быть, есть возможность предоставить некоторые фиктивные методы где-то, чтобы получить тип намекая и завершение кода, не нарушая функциональность методов ?! –
Я использую RubyMine уже 4 года, и, я думаю, пока нет возможных решений для подобных проблем. Единственное возможное решение, которое я вижу, RubyMine может использовать отладчик для сохранения всех состояний приложения всеми методами, а затем использовать их при интерполяции, но я не думаю, что это будет сделано в ближайшем будущем или когда-либо. :) –
@sreuter Насколько я знаю, это невозможно, хотя это будет классная функция. –