Я использую Rails v2.3.2 .
У меня есть модель:
class Cars < ActiveRecord::Base
tag_nr = rand(2007)
end
Модель Cars
сопоставлена с таблицей cars
в базе данных со столбцами name
, owner
.
Как вы видите выше, есть также tag_nr
, который в основном является случайным числом .
Я хотел бы, чтобы каждый объект экземпляра из Cars
class содержал случайное число , сгенерированное, как указано выше. Но Я не хочу хранить это случайное число в базе данных. И в будущем я могу получить доступ к этому экземпляру объекта tag_nr
с помощью:
nr = CAR_INSTANCE.tag_nr
И nr
теперь является таким же , как tag_nr
, впервые созданный для этого объекта экземпляра Cars.
Итак, где и как мне определить это случайное число в моей модели автомобиля?
----------- То, что я пробовал, это: -----------
class Cars < ActiveRecord::Base
after_initialize :init
attr_accessor :tag_nr
def init
@tag_nr = rand(2007)
end
end
Но если я получу автомобиль из базы данных и попытаюсь получить доступ к tag_nr
, я получу nil
:
@c=Cars.first
@c.tag_nr.nil? # it returns true
Итак, как я могу иметь атрибут модели (например, tag_nr
), который не сохраняется в базе данных как столбец таблицы, но может быть доступен как атрибут?