在Rails应用程序中存储一些应用程序设置

时间:2014-01-09 11:23:28

标签: ruby-on-rails

有以下任务:我的应用程序有一个名为'delivery_time'的变量;可以通过管理面板更改此变量。我认为将它存储在某个数据库表中并不是一个好方法。我如何将它存储在配置或其他任何东西?可能我应该将它存储在db中吗?

3 个答案:

答案 0 :(得分:1)

基本上对于静态设置我们使用以下gem

https://github.com/railsjedi/rails_config

所以这个gem将生成以下文件

config/settings.yml

您可以在此yml文件中定义变量(my_config)。并在整个申请中使用它如下:

Settings.my_config

或者你可以使用任何类似的宝石

答案 1 :(得分:1)

您可以在配置文件中轻松存储设置,如下所示:

  1. 创建config.yml并存储您的设置

    delivery_time: '...'

  2. 将此配置添加到initializers / load_config.rb

    require 'ostruct'
    require 'yaml'
    
    app_config = YAML.load_file(File.join(::Rails.root, 'config', 'config.yml'))[Rails.env]
    ::AppConfig = OpenStruct.new app_config
    
  3. 您可以在项目的任何位置将其称为AppConfig.delivery_time

答案 2 :(得分:0)

您可以使用PStore实现基于Hash的基于文件的持久性机制。

OR 基于yaml的方法

相关问题