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

Rails开发环境凭据已加密保存但调用返回Nil问题求助

Rails开发环境凭据保存后读取返回Nil的解决办法

问题场景

在WSL Ubuntu环境下执行EDITOR="code --wait" rails credentials:edit --environment=development,编辑临时YAML文件并保存到Windows的C:/tmp目录,终端提示"File encrypted and saved.",但调用Rails.application.credentials相关方法时全部返回Nil,且@config为空。

解决步骤

  • 修正编辑器路径问题
    WSL环境下用Windows版VS Code编辑时,临时文件会被保存到Windows的C:/tmp,而Rails在Linux环境下无法正确读取该路径的文件。改用WSL兼容的编辑器命令:

    # 用WSL模式的VS Code
    EDITOR="code --wait --remote=wsl" rails credentials:edit --environment=development
    # 或者用终端编辑器nano更稳妥
    EDITOR="nano" rails credentials:edit --environment=development
    

    编辑完成后保存退出,确保终端提示加密成功。

  • 验证加密文件内容
    执行命令解密查看实际保存的内容,确认是否写入成功:

    rails credentials:show --environment=development
    

    如果返回空,说明之前的保存未生效,重新用正确的编辑器命令编辑。

  • 检查YAML格式
    确保YAML使用空格缩进(不要用制表符),格式严格匹配:

    test:
      my_key: "hello"
      another_key: "world"
    
  • 重启会话
    保存凭据后,关闭并重新打开Rails控制台,或者重启开发服务器,确保新的配置被加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:01:19