Я создал приложение rails с базой данных pgsql, используя DockerCompose. Кажется, он работает нормально, но у меня проблемы с использованием консоли rails во время работы приложения. Что я делаю:
docker-compose up
. Приложение начинает работать.- Затем я запускаю:
docker exec -it ID_OF_RAILS_CONTAINER bin/rails console
или docker-compose run CONTAINER_NAME rails console (я пробовал оба варианта)
Консоль открывается с этим:
Creating transcendance_backend_run ... done
Running via Spring preloader in process 21
Loading development environment (Rails 6.0.3.4)
irb(main):001:0>
Затем, когда я пытаюсь создать модель, я получаю следующую ошибку:
irb(main):001:0> rails g model user name guild_id banned
Traceback (most recent call last):
1: from (irb):1
NameError (undefined local variable or method `banned' for main:Object)
Что бы я ни печатал, я получаю эту ошибку.
Я попытался прокомментировать gem 'spring-watcher-listen', '~› 2.0.0' в своем gemfile, но теперь консоль навсегда зависает, когда я пытаюсь сгенерировать модель.
Кто-нибудь знает, как это исправить?
Спасибо
rails generate
- это команда оболочки, а не вызов метода Ruby. Я бы запустил это в вашем локальном дереве исходных текстов, вне Docker и вне интерпретатораirb
; затем перестройте свой образ с обновленным кодом модели. - person David Maze   schedule 31.10.2020