2009-05-17 30 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')