Дополнение модели Rails виртуальными атрибутами во время выполнения - PullRequest
3 голосов
/ 15 декабря 2010

У меня есть модель Rails с атрибутами X, Y, Z

Я хочу динамически добавлять атрибуты P, Q к этой модели во время выборки данных.Атрибуты P, Q не нуждаются в постоянстве и предназначены только для манипуляций с интерфейсом.

Возможно ли это вообще?Я мог бы достичь этого, сохраняя P, Q в другом объекте и манипулируя этим вместе с исходной моделью, но подумал о том, чтобы спросить, что может быть лучшим способом.*

1 Ответ

0 голосов
/ 15 декабря 2010

Попробуйте что-то подобное в вашей модели

def p
  @p || @p = fetch_p
end

Это позволит вам позвонить your_model.p. При первом вызове он вызовет функцию fetch_p и сохранит ее как атрибут класса. При любом последующем вызове он просто вернет кэшированное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...