複数のテーブルに複数のレコードを保存するフォームが送信された後、いくつかの処理を行う必要があります。オール オア ナッシングにする必要があるため、トランザクション ブロックでラップしました。ブロックは問題なく動作しているようですが、トランザクションが成功したかどうかを確認する方法がわからないため、適切な応答を返すことができます。
...
# Start a transaction block so we can back out if anything fails
ActiveRecord::Base.transaction do
# Journal Entry for from_account
gle = from_account.gl_journal_entries.create(....)
# Journal Line (x2)
gle.gl_journal_lines.create(....)
gle.gl_journal_lines.create(....)
# Journal Entry for to_account
gle = to_account.gl_journal_entries.create(....)
# Journal Line (x2)
gle.gl_journal_lines.create(....)
gle.gl_journal_lines.create(....)
end
# return something based on success/failure of transaction
...