2008-09-22 30 views

回答

3

從你的描述,我認爲軌道的設置插件應該做您的需要。

自述:

「的設置是一個插件,它管理全球關鍵的表,值對容易認爲它像保存在你的數據庫的全局散列,使用簡單的ActiveRecord像操作方法。跟蹤任何你不想硬編碼到你的Rails應用程序的全局設置,你可以存儲任何類型的對象,字符串,數字,數組或任何對象。

http://github.com/Squeegy/rails-settings/tree/master

3

如果它的數據,它是在數據庫中,它是模型的一部分。

1

這不是一個真正的RoR問題;這是一個通用的OO設計問題。

如果是我,我可能會找到一個方法來概念化數據模型,然後就使其與工廠方法和私人構造一個單身。

另外,你可以認爲這是日誌的形式。在這種情況下,你只需要一個Logger類(也是單例),它直接讀/寫數據庫,並在每個請求的開始和結束時被調用。

1

在Rails中,如果數據是在數據庫中這是一個模型。在這種情況下,模型可能被稱爲「配置」,但它仍然映射到Rails系統中的ActiveRecord類。

如果這個數據是真正靜態的,你可能不需要數據庫在所有。 你可以在你的應用程序控制器使用(作爲一個例子)一個變量:

class ApplicationController < ActionController::Base 
    helper :all 
    @data = "YOUR DATA HERE" 
end 

有許多可用於實例數據的Rails應用程序中使用的方法。

0

我不知道我明白你爲什麼要說它不適合在Rails模型。

如果它只是一個複雜的數據結構,只是節省了一堆的Ruby代碼文本字段在數據庫:-)

例如,如果你有你想要保存一個複雜的嵌套散列,分配以下你的「數據」文本字段:

ComplexThing.data = complex_hash.inspect 

當你想讀回,只是

complex_hash = eval ComplexThing.data 

讓我指出這個解決方案2個更多的東西:

  • 如果你的數據結構不是標準的Ruby類,一個簡單的檢查可能不會這樣做。如果你看到#< MyClass:0x4066e3c >任何地方,東西沒有正確序列化。
  • 這是一個天真的實現。如果您有unicode數據的風險,或者您確實在節省大量定製課程,您可能需要查看真正的編組解決方案。
相關問題