我的应用程序中有以下设置。
class Account < ActiveRecord::Base
attr_accessible :balance, :user_id
belongs_to :user
end
class User < ActiveRecord::Base
attr_accessible :name, :email
has_one :account
end
我们有用户的地方(比如银行的客户),他们有一个帐户。如果我现在想将资金从账户 A 转移到账户 B,那么在 Rails 3 中执行此操作的正确方法是什么?
我们正在考虑将整个语句包装在事务中,类似于:
ActiveRecord::Base.transaction do
david.withdrawal(100)
mary.deposit(100)
end
但我们不清楚的是,我们是否需要在控制器中创建新方法,或者....控制器中的方法可以解决这个问题。最重要的是,您将如何以正确的方式将变量从表单传递到模型,因为该表单并不总是在该特定模型的视图结构中。
话又说回来 - 也许这有一个宝石?