web项目的用户配置数据定义
- 程序中某些常量的值
- 某些类型数据,比如像项目类型(公开项目、私有项目等类别)
- 等等
如何在rails项目中放置这些数据
1、放置在数据库中
专门建一个配置表,用于存放这些用户配置数据。使用时,只要从数据库中读取即可。
优点: 扩展方便,当你需要增加一个配置量时,只要增加一条数据库记录即可。
缺点: 读取的速度偏慢,特别是当数据库和app不在同一台server上时,需要加上网络延时时间。
2、放置在配置文件中
a、在config/下新建一个配置文件: app_config.yml
# 放置三个运行模式下都需要的配置
defaults: &DEFAULTS
# 示例数据
project_type:
pub: "公开项目"
pri: "私有项目"
# 放置在开发环境下的配置
development:
<<: *DEFAULTS
# 放置在测试环境下的配置
test:
<<: *DEFAULTS
# 放置在生产环境下的配置
production:
<<: *DEFAULTS
b、在app启动时,加载这个配置文件
新建文件 initialiers/load_config.rb, 内容示例如下:
APP_CONFIG = YAML.load_file("#{Rails.root}/config/app_config.yml")[Rails.env]
c、在项目代码中使用该配置数据
APP_CONFIG['project_type']['pub'] # => "公开项目"
优点: 获取配置数据快,直接在内存中读取,结构也比较清晰,各个环境下能够单独配置不同的数据 缺点: 一旦需要添加配置数据,需要服务重启
发布评论