【发布时间】:2021-02-13 19:28:38
【问题描述】:
我使用 DockerCompose 创建了一个带有 pgsql 数据库的 rails 应用程序。 它似乎工作正常,但我在运行应用程序时使用 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)
无论我输入什么,我都会收到此错误。
我曾尝试在我的 gemfile 中评论“gem 'spring-watcher-listen', '~> 2.0.0'”,但现在当我尝试生成模型时控制台永远挂起.
有谁知道如何解决这个问题?
谢谢
【问题讨论】:
-
我认为
rails generate是一个shell 命令,而不是Ruby 方法调用。我会在你的本地源代码树中、Docker 之外和irb解释器之外运行它;然后使用更新的模型代码重建您的图像。
标签: ruby-on-rails docker docker-compose rails-console