2009-05-17 32 views
0
一些數據庫屬性

我的數據庫表有可能包含數據的一個非常大的量列。 我不希望這些數據成爲相應的軌道對象(模型)的一部分。導軌:如何才能不包括在模型

我如何,我不希望這個字段存儲在內存中的模型告訴?

最初,這來自於一個事實,我有一個會話大於4K和導軌提出了一個的ActionController ::會議:: ::的CookieStore例外CookieOverflow。

感謝您的幫助, 邁克爾。

回答

1

你不得不通過查找選項:select明確指定的列。 但是,不鼓勵在會話中存儲模型。如何在會話中存儲對象標識,並在模型對象本身中保存Rails.cache

+0

要更清楚 - 在會話中存儲對您的數據有效性是危險的 - 當數據庫中的數據發生更改時,會話中的模型不會更新,除非您手動完成,所以最終會出現各種奇怪的現象 – srboisvert 2009-05-17 21:52:24

1

當加載你的模型,你可以明確地設置要選擇並跳過大列柱:

MyModel.find(id, :select => 'column1, column2, column3')