Динамическая консоль динамическая?

- консоль в рельсах (~ rails c) динамическая? Например; если я открою консоль, а затем внеся изменения в модель, она выберет эти изменения или мне придется выйти из консоли и снова запустить rails c, чтобы она могла получить изменения в модели?

Ответы

Ответ 1

Вам нужно будет вызвать метод reload! в консоли для перезагрузки изменений. Этот метод магии автоматически вызывается rails server в режиме разработки.

В качестве комментария, приведенного ниже, и другого ответа здесь, если вы измените отношение к среде приложения, например добавление новых драгоценных камней в Gemfile, внесение изменений в что-либо в config или добавление нового плагин, то вам нужно будет перезапустить консоль. Любые изменения в app будут перезагружаться с помощью reload!

Если вы использовали этот способ проверки работоспособности метода, я бы этого не сделал. Тесты (как в вариантах Test:: Unit или RSpec) намного приятнее, потому что у вас есть воспроизводимый способ запускать их снова и снова. rails console отлично подходит для одноразового тестирования, но если вы хотите написать поддерживаемое приложение, напишите тесты.

Ответ 2

Как указывает Райан, вам нужно вызвать перезагрузку! для перезагрузки изменений. Следует также отметить, что для некоторых изменений требуется выйти и перезапустить консоль. Эти изменения включают такие вещи, как обновление ваших файлов конфигурации или среды (я не уверен, что такое полный список.)