使用attr_was和attr_changed?在视图中

时间:2014-01-18 12:13:27

标签: ruby-on-rails ruby-on-rails-4

我在资金管理应用程序中有TransactionAccount个模型,具有以下关联:

Transaction belongs_to :account
Account has_many :transactions

当用户创建交易并将其添加到帐户时,Rails会在add_to_account模型中运行方法Transaction,以便将交易金额添加到帐户中的balance字段。

我通过AJAX更新了交易页面,在create.js.erb我有以下行......

$('#account_<%= @transaction.account.id %>').replaceWith('<%= j render @account %>'); 

...更新页面上的帐户表单。

当用户更新交易并更改其帐户时,Rails会为两个帐户运行add_to_accountaccountaccount_was

我想在交易页面上更新两个帐户的表单,因此我在update.js.erb中使用相同的行来更新account,但我不知道如何更新account_was页面,因为我收到错误

undefined method `account_was' for #<Transaction:0x000001094e93f0>

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

脏属性意味着在属性上使用,而不是在对象上使用。

所以这不是一个视图问题,你必须实现自己的差异工具。