рельсы: как не включать некоторые атрибуты БД в модель - PullRequest
0 голосов
/ 18 мая 2009

В моей таблице БД есть столбец, который может содержать очень большой объем данных. Я не хочу, чтобы эти данные были частью соответствующего объекта (модели) рельсов.

Как мне сказать в модели, что я не хочу хранить это поле в памяти?

Первоначально это происходит из-за того, что у меня сеанс больше 4k, и rails вызывает исключение ActionController :: Session :: CookieStore :: CookieOverflow.

Спасибо за вашу помощь, Микаэль.

Ответы [ 2 ]

1 голос
/ 18 мая 2009

Вы должны были бы явно указать столбцы с помощью опции find :select. Однако хранение моделей в сеансе не рекомендуется. Как насчет хранения только идентификатора объекта в сеансе и удержания самого Model-Object в Rails.cache?

1 голос
/ 18 мая 2009

При загрузке модели вы можете явно указать столбцы, которые хотите выбрать, и пропустить большие столбцы:

MyModel.find(id, :select => 'column1, column2, column3')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...