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

为Rails Credentials配置生产与开发环境变量的疑问

Rails Credentials 跨环境公共配置的写法

你完全可以把两个环境共用的base_url放在环境嵌套外部,不需要在production和development里重复定义,第一种写法是完全可行的。

推荐的配置写法

base_url:
  hostname: http://example.com

production:
  client_api_endpoint: http://prod-api.example.com

development:
  client_api_endpoint: http://dev-api.example.com

代码中读取配置的方式

在Rails代码里,你可以这样分别获取公共配置和对应环境的配置:

# 获取跨环境共用的base_url
Rails.application.credentials.base_url[:hostname]

# 获取当前环境的client_api_endpoint
Rails.application.credentials.dig(Rails.env.to_sym, :client_api_endpoint)

额外说明

如果后续某个环境需要单独修改base_url,直接在对应环境的嵌套块内重新定义即可——Rails会优先读取环境块内的配置,也就是环境内的配置会覆盖外部的公共配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 11:50:22