Как установить свойство в ruby ​​datamapper, которое является функцией другого свойства того же объекта? - PullRequest
0 голосов
/ 06 марта 2019

Я хочу добавить два новых свойства в модель ruby ​​datamapper, одно из которых является приведением даты свойства timestamp, а другое - значением другого объекта, подключенного через уникальный ключ.

Так что для первого случая у меня есть свойство: дата, дата / время

и я хочу добавить еще свойство: дата_дата, дата что по умолчанию будет равно date.to_date

1 Ответ

0 голосов
/ 06 марта 2019

Вы должны увидеть документы: https://datamapper.org/docs/properties.html

В частности, разделы «Доступные типы» и «Установка значений по умолчанию».

Вы можете сделать это следующим образом:

property :date_date, Date, default: -> do |obj, prop|
  obj.date.to_date
end

В качестве альтернативы вы можете установить его с помощью обратного вызова (https://datamapper.org/docs/callbacks.html),, например:

property :date_date, Date

before_save :set_date_date

def set_date_date
  self.date_date = date.to_date
end

Обратите внимание, что в ActiveRecord Rails он работает в основном так же.

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