- консоль в рельсах (~ rails c
) динамическая? Например; если я открою консоль, а затем внеся изменения в модель, она выберет эти изменения или мне придется выйти из консоли и снова запустить rails c
, чтобы она могла получить изменения в модели?
Динамическая консоль динамическая?
Ответ 1
Вам нужно будет вызвать метод reload!
в консоли для перезагрузки изменений. Этот метод магии автоматически вызывается rails server
в режиме разработки.
В качестве комментария, приведенного ниже, и другого ответа здесь, если вы измените отношение к среде приложения, например добавление новых драгоценных камней в Gemfile
, внесение изменений в что-либо в config
или добавление нового плагин, то вам нужно будет перезапустить консоль. Любые изменения в app
будут перезагружаться с помощью reload!
Если вы использовали этот способ проверки работоспособности метода, я бы этого не сделал. Тесты (как в вариантах Test:: Unit или RSpec) намного приятнее, потому что у вас есть воспроизводимый способ запускать их снова и снова. rails console
отлично подходит для одноразового тестирования, но если вы хотите написать поддерживаемое приложение, напишите тесты.
Ответ 2
Как указывает Райан, вам нужно вызвать перезагрузку! для перезагрузки изменений. Следует также отметить, что для некоторых изменений требуется выйти и перезапустить консоль. Эти изменения включают такие вещи, как обновление ваших файлов конфигурации или среды (я не уверен, что такое полный список.)