如何解决Money-Rails gem,正确货币化虚拟 SQL 属性
我已经在我的 Rails 6 应用程序中正确设置和配置了 money-rails gem。我正在尝试通过 SQL 生成的虚拟列获利。我有一个模型 Payout
,它有一个 amount
列,如下所示。我只包括了重要的部分
class Payout < ApplicationRecord
belongs_to :user
monetize :amount_cents
monetize :total_payout_cents
def total_payout_cents
self[:total_payout_cents] || Money.new(0)
end
def self.by_month
self.select("DATE_TRUNC('month',received_at) AS month,SUM(amount_cents) AS total_payout_cents").group("month").order("month ASC")
end
end
by_month
方法用于按月对支出进行分组,并在名为 total_payout_cents
的列中获取该特定月份的总金额
这在我调用 User.first.payouts.by_month[0].total_payout
时工作正常,当我尝试保存新的 Payout
或更新现有付款金额时出现问题,它会引发错误
ActiveModel::MissingAttributeError: can't write unknown attribute `total_payout_cents`
任何有关如何正确通过此类领域获利的想法都将受到高度赞赏。谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。