Rails从不同的模型

时间:2018-03-22 13:54:42

标签: ruby-on-rails

我有一个表users,其中包含cash_balance列。

我有donations sender_idreceiver_idamount的表格。{/ p>

我有bank_account_depositsuser_id的表格amount

我有一张表格可以在bank_account_deposits上发布。表单应该只是一个按钮。

每次我提交表单时,都应该在bank_account_deposits:

上创建
  • 包含current_user_id和现金余额的1行(来自users表)。这个很容易在bank_account_deposits controller create上创建。

  • 捐款表中每条记录的1行,其中receiver_id = current_user.id的值为user_id = sender_idamount = amount

有关如何实施此建议的任何建议?必须在表捐赠表上循环条目并从结果中创建记录会使我感到困惑。

我知道这没有意义,因为每次我提交表格时都会输入相同的记录,但我在这里简化了它,因为这不是重点。

1 个答案:

答案 0 :(得分:1)

你只需要循环捐赠并在循环内创建一个存款,其中包含每个捐赠的数据:

def create

  BankAccountDeposit.create(
    user_id: current_user.id, 
    amount: current_user.cash_balance
  )

  Donation.where(receiver_id: current_user.id).each do |donation|
    BankAccountDeposit.create(
      user_id: donation.sender_id, 
      amount: donation.amount
    )
  end

end