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。例如,如果您想動態更改生產中的列表,此選擇可能會更好。