You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Rails 5默认secrets文件位置?已误传secrets.yml至GitHub

嘿,我来帮你搞定这个问题!你遇到的核心需求就是修改Rails默认读取secrets文件的路径对吧?下面几个实用方法都能解决:

方法1:修改应用初始化配置

在config/initializers目录下新建一个custom_secrets_path.rb文件(或者修改现有配置文件),添加这段代码:

# 替换默认的secrets文件路径为你的新文件
Rails.application.config.paths["config/secrets"] = ["config/secrets_final.yml"]

这样Rails启动时就会自动加载你指定的secrets_final.yml,而不是原来的默认文件。

方法2:通过环境变量临时/永久指定

如果你不想改动代码,可以在启动应用时通过环境变量直接指定路径:

RAILS_SECRETS_PATH=config/secrets_final.yml rails server

要是想让这个设置永久生效,还可以把这个环境变量加到你的.env文件里(如果用dotenv管理环境变量的话):

RAILS_SECRETS_PATH=config/secrets_final.yml
方法3:升级到Rails Credentials(更推荐)

如果你的Rails版本是6及以上,真心建议换成官方的credentials系统,比传统secrets文件更安全,而且默认就不会被Git追踪。迁移步骤很简单:

  1. 打开对应环境的credentials文件(比如生产环境):
    rails credentials:edit --environment production
    
  2. 把secrets_final.yml里的凭证内容复制到打开的文件中,保存退出
  3. 之后就可以用Rails.application.credentials.your_credential_key来调用凭证了

⚠️ 最后一定要注意:之前上传到GitHub的旧secrets.yml里的所有凭证都要立即作废并更换,因为已经公开过,存在安全风险!同时确认secrets_final.yml确实已经正确添加到.gitignore里,避免再次踩坑。

内容的提问来源于stack exchange,提问作者dgreen22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:24:09