检查本地主机时,我收到Missing
secret_key_base for 'production' environment, set this value in config/secrets.yml
错误。这没有意义,因为我应该在开发中。
我在服务器启动期间登录了Rails.env
,它显示了development
。
从那里我尝试了一些数据库的东西:
rails dbconsole
提示我此错误:psql: FATAL: role "my-server" does not exist
rails db:create
给我这个:
Database 'my-server_development' already exists
Database 'my-server_test' already exists
rails db:create
,这给了我最大的指示性错误:ActiveRecord :: EnvironmentMismatchError:您正在尝试修改最近在
development
环境中运行的数据库。 您正在production
环境中运行。如果确定要继续,请首先使用以下命令设置环境:bin / rails db:environment:set RAILS_ENV = production
总而言之,我环境中的一些神秘配置似乎已设置为正式版。该错误表明我试图将rails env设置为生产环境以匹配它,但是我想要的是将这个谜团更改为开发阶段。
任何帮助将不胜感激。
答案 0 :(得分:0)
好了。我在其中的一个初始化器中有一个错字,并且正在像这样检查我的Rails env:
if Rails.env = "production"
# blahblah do something
这当然是将Rails.env
设置为"production"
。我在Rails的启动过程中弄乱了Pry,发现Rails.env
一次返回了"development"
,后来又返回了"production"
。
从那里,快速搜索发现了问题。感谢所有花时间研究此问题的人。我将标题更新为更能说明问题的地方。