具有不同值的属性的Rails Model在不同的日子

问题描述:

我有一个名为Table的模型,Table有一个叫做price的属性。每当桌子的主人想要时,价格可能每天都在变化。我如何跟踪价格的所有价值,以便我可以返回2017年1月1日或其他过去日期的表格价格。具有不同值的属性的Rails Model在不同的日子

+0

你到目前为止尝试过什么?这个问题目前太广泛了,无法回答。 –

做到这一点的一种方法是将价格作为一个新的模型,如TableCalendarPrice,它具有dateprice两个属性和对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条目,可以与日期进行比较以获取前一日期的价格。

希望这会有所帮助..