我在Rails中设计内部会计程序。
问题:如何设计计算总权益的应用程序,包括留存收益+净收入?
我的资产帐户可以看到我喜欢它如何工作的示例。
Asset
模型继承自Account
模型。
它有一个名为balance_as_of(date)
的实例方法,它完全符合您的预期。它是通过循环每个资产帐户的余额并将它们全部加在一起来实现的,以提供总资产余额。
足够公平。
现在:Equity
模型也继承了Account
模型。因此也有balance_as_of(date)
模型。
尝试循环浏览每个Equity
帐户时会出现问题。由于净收入是计算/动态金额,因此它不作为权益帐户存储在数据库中,因此不在计算总权益的循环中。
如何将净收入的动态计算作为权益循环包含的帐户之一?
答案 0 :(得分:0)
虚拟属性
我不知道如何计算您的权益"但我可以就您如何在Rails应用中运行此计算提供一些想法
-
您可能需要考虑attr_accessor
module,或者只是使用instance method
来调用数据。
你基本上需要在整个循环中持久保存数据 -
#app/models/equity.rb
Class Equity < Account
attr_accessor :net_income
def net_income
self.balance_as_of([date])
end
end
这会在您的权益模型上为您提供一个名为net_income
的属性 - 该对象将出现在Equity
对象的每个实例中。例如:
@equities = Equity.all
@equities.each do |equity|
equity.net_income
end
它不会直接解决您的问题,但肯定会帮助您指明正确的方向。