gpt4 book ai didi

ruby-on-rails - 使用 rails 计算值并将值插入表列

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:52 32 4
gpt4 key购买 nike

大家好,我是 Rails 的新手。如果这是一个愚蠢的问题,请原谅。

我正在做一个项目,我需要计算交易中的银行余额和现金箱余额。所以这取决于交易类型“借记/贷记”和支付类型“在线支付/支票/现金”。只涉及一个模型,就是事务模型和事务表。所以这就是我正在做的,

交易 Controller

def create      

@transaction = Transaction.create(transaction_params)

@amount = transaction_params[:amount].to_f
@cashbox = transaction_params[:cashbox].to_f
@bank = transaction_params[:bank].to_f

if transaction_params[:t_type] == "Debit"
if transaction_params[:t_method] == "Cash"
@cashbox -= @amount
transaction_params[:cashbox] = @cashbox.to_s

else
@bank -= @amount
transaction_params[:bank] = @bank.to_s

end
elsif transaction_params[:t_type] == "Credit"
if transaction_params[:t_method] == "Cash"
@cashbox += @amount
transaction_params[:cashbox] = @cashbox.to_s

else
@bank += @amount
transaction_params[:bank] = @bank.to_s

end
end

if @transaction.save
redirect_to @transaction
else
render 'new'
end
end

def transaction_params
params.require(:transaction).permit(:date, :notes, :t_type, :t_method, :amount, :paid_by, :paid_to, :cashbox, :bank, :house_id, :expense_for)
end`

交易模型

class Transaction < ActiveRecord::Base
end

但是当我提交包含所有值的表单时,计算部分不会发生,rails 只会插入表单中提交的值。

如何在从表单提交时计算钱箱余额和银行余额并将更新后的值存储在表中?另外,如果有更好的方法来做到这一点,请提出建议。

最佳答案

您需要在渲染之前将此功能添加到模型并更新对象(如果我理解正确的话)。现在您永远不会将更改保存到对象中。

关于ruby-on-rails - 使用 rails 计算值并将值插入表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35455808/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com