【发布时间】:2011-11-05 16:47:33
【问题描述】:
背景
我正在写一个照片库,该库可以创建预览和缩略图。
我希望用户自定义这些(分辨率等)的创建
到目前为止我所拥有的
-
config/gallery.yml- 存储实际设置,每个环境的一个块 -
config/initializers/gallery.rb- 将 YAML 文件加载到 Gallery::Application -
app/models/image.rb- 读取配置并创建图像的模型
我的问题
将设置与默认值合并的最佳位置在哪里?
我可以在gallery.rb 或image.rb 中实际使用它。
否则,这是一种理智的方法还是我做错了?
非常感谢任何反馈。
文件
config/initializers/gallery.yml
production:
create_previews: true
create_thumbnails: true
development:
create_thumbnails: true
create_previews: true
test:
create_thumbnails: false
create_previews: false
config/initializers/gallery.rb
Gallery::Application.config.image_directory = File.join(Rails.root, 'images')
Gallery::Application.config.thumbnail_directory = File.join(Rails.root, 'thumbnails')
Gallery::Application.config.preview_directory = File.join(Rails.root, 'previews')
# DO NOT MODIFY THE LINES BELOW
EXTERNAL_CONFIG_FILE_PATH = "#{Rails.root}/config/gallery.yml"
if FileTest.exists? EXTERNAL_CONFIG_FILE_PATH
vals = YAML.load_file(EXTERNAL_CONFIG_FILE_PATH)[::Rails.env]
else
vals = {}
end
Gallery::Application.config.create_previews = vals['create_previews']
Gallery::Application.config.preview_settings = vals['preview_settings']
Gallery::Application.config.create_thumbnails = vals['create_thumbnails']
Gallery::Application.config.thumbnail_settings = vals['thumbnail_settings']
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 configuration