我有一个在rails上运行的应用程序,它从yaml文件加载配置。我试图找出从控制器更新这个的最佳方法,或者我应该使用ActiveModel作为我的配置?
配置基于以下答案: Accessing config from application.rb in Controller (Rails 3)
config / my_app_config.yaml包含配置。
config / initializerz / app_config.rb中的初始化程序加载:
AppConfig.config = YAML.load_file(" config / my_app_config.yaml")[Rails.env] .symbolize_keys
我可以从控制器轻松访问此配置,并通过访问MyAppConfig.config [:key_name]在视图中显示它,并从用户输入更新它,但是有建议的方法将配置哈希写回配置文件?
答案 0 :(得分:1)
恕我直言,应该避免这样做。如果您的配置的性质是动态的(时间变化),那么您应该在读取用户数据或其他任何内容时从数据库中读取它。 如果它是静态的,那么您可以将其保留为哈希值(YAML文件,当配置更改时,您只需部署应用程序)。如果设置经常更改,我会建议db。