具有不同值的属性的Rails Model在不同的日子
问题描述:
我有一个名为Table的模型,Table有一个叫做price的属性。每当桌子的主人想要时,价格可能每天都在变化。我如何跟踪价格的所有价值,以便我可以返回2017年1月1日或其他过去日期的表格价格。具有不同值的属性的Rails Model在不同的日子
答
做到这一点的一种方法是将价格作为一个新的模型,如TableCalendarPrice
,它具有date
和price
两个属性和对Table
模型的引用。
答
你可以保持价格变化的历史随着时间的推移
创建一个新的模型PriceHistory
rails g model PriceHistory price:float table:references
,并在表型号,创建关系
has_many :price_history
现在表模型创建在保存选项之前
before_update :set_price_history
def set_price_history
if price_changed?
a = PriceHistory.new(table_id: :id, price: :price)
a.save
end
end
它会自动创建created_at
条目,可以与日期进行比较以获取前一日期的价格。
希望这会有所帮助..
你到目前为止尝试过什么?这个问题目前太广泛了,无法回答。 –