我想为ruby datamapper模型添加两个新属性,一个是timestamp属性的日期转换,另一个是通过唯一键连接的另一个对象的值。
所以对于第一种情况我有属性:date,DateTime
我想添加另一个属性:date_date,默认情况下的日期等于date.to_date
你应该看到文档: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
请注意,它在Rails的ActiveRecord中的工作方式基本相同。