Ruby on rails 3 Rails 3将两个属性相加,并分配给同一模型上的另一个属性

Ruby on rails 3 Rails 3将两个属性相加,并分配给同一模型上的另一个属性,ruby-on-rails-3,attributes,sum,Ruby On Rails 3,Attributes,Sum,我有一个具有两个属性的报告模型:大费用和小费用。我想知道是否有可能将这两个属性相加,并将总和分配给另一个名为:total的属性。如果是这样,它是如何工作的?在报告模型中,您可以有一个回调,在保存前调用一个方法来汇总这两个属性 例如: class Report before_save :total_big_and_small_expenses def total_big_and_small_expenses self.total = self.big_expenses + self.sm

我有一个具有两个属性的报告模型:大费用和小费用。我想知道是否有可能将这两个属性相加,并将总和分配给另一个名为:total的属性。如果是这样,它是如何工作的?

在报告模型中,您可以有一个回调,在保存前调用一个方法来汇总这两个属性

例如:

class Report

before_save :total_big_and_small_expenses


def total_big_and_small_expenses
  self.total = self.big_expenses + self.small_expenses
end

谢谢,这是一个非常新的问题,你能解释一下我将如何在节目中使用它来显示:total属性吗?在节目中,我假设你谈论的是视图。如果您在控制器中创建了一个报告,比如Report=Report.create!(:小额费用=>5,:大额费用=>100)。您应该能够在视图中说report.total,并在我提到的模型中添加代码后获得总数。很酷,谢谢。可能就是这样。在执行此操作后,我得到一个错误,方法“total”未定义。对此有何想法,可能是用户错误。您的reports表是否有total列?如果不是,则需要运行迁移以将迁移添加到报表表中。如果不确定,请检查架构文件。您应该会看到大费用、小费用和总属性。