2013-03-28 60 views
1

我有几个大的数据库与大量的记录(看起来像城市城市价格)。 另外我有十几个修改参数的价格。 我应该在哪里保存这个参数? 我看到3个选项:在哪里保留额外的参数在轨道上

  • 每个参数字段创建DB(但是这将是DB只有一个记录,scalabiliy不好)
  • 有一个字段创建数据库,并记录每参数(但我要记住每个记录的含义)控制器

  • 硬编码参数,所有选项似乎并不优雅。对于这种情况还有其他好的解决方案吗?

  • 回答

    1

    YAML是处理整个应用程序中的某些值时不需要任何关联模型的好方法。

    否则,只需创建一个文件,如config/initializers/constants_file.rb并将值放在该文件中,以便在重新启动服务器后可以通过任何位置访问这些文件。

    例如,在config/initializers/constants_file.rb我有以下

     
    CURRENCY_TYPES = {:city1 => "value1", :city2 => "value2", ...} 
    

    并且可以从应用程序等CURRENCY_TYPES任何地方访问该[:city1]

    或者你仍然可以在模型中创建一个常量,如果你愿意,你可以使用它。

    +0

    谢谢,这就是我需要的。 – Cyrill 2013-03-28 14:16:48

    1

    我假设你想存储某个地方的固定参数,如城市名称或价格货币。这些只是项目列表而非动态变量。

    处理它的标准方法是使用像yaml这样的配置文件。这使您能够将键映射到参数的值。

    我劝你看看YAML Configuration File railscast它是否适合:

    否则,你也可以创建一个新的模式,以保持所有的值在DB。例如,如果您想动态更改生产中的列表,此选择可能会更好。