Rails凭证文件和Rails环境


Rails 7

我在使用[Rails.env.to_sym]时遇到了一些问题. 有些配置文件可以理解,有些则不能。

做了一些研究,似乎我可以为每个运行时环境生成不同的凭据文件。例如:

rails credentials:edit --environment development
rails credentials:edit --environment test

这是否意味着Rails将根据Rails环境设置(测试、开发等)选择适当的凭据文件?

这是正确的-主凭证文件(credentials.yml.enc)被特定于环境的文件覆盖。

如果从命令行运行bin/rails credentials:edit -h,您将看到以下内容:

=== Environment Specific Credentials
The `credentials` command supports passing an `--environment` option to create an environment specific override. That override will take precedence over the global `config/credentials.yml.enc` file when running in that environment. So:
bin/rails credentials:edit --environment development
will create `config/credentials/development.yml.enc` with the corresponding encryption key in `config/credentials/development.key` if the credentials file doesn't exist.

我的一个小问题-我在尝试生成特定于环境的凭据文件时遇到了一个错误(下面是错误的一部分):

`binwrite': No such file or directory @ rb_sysopen - config/credentials/test.yml.enc.tmp

我的修复是先创建空文件夹(config/credentials),然后重新运行命令(例如,bin/rails credentials:edit --environment test)

最新更新