从控制器访问模型方法

时间:2011-08-09 01:00:42

标签: ruby-on-rails ruby model-view-controller class model

我对rails相对较新,并试图找出以下

的正确语法

我有一个使用方法

的模型交易
 def self.add_external_transaction_for information
...
end

在transaction.rb中声明

我要做的是从deposit_controller.rb中的存款模型中为名为DepositsController的不同控制器调用add_external_transaction_for

ActiveRecord::Transactions.add_external_transaction_for(@deposit)

但是我看到以下错误

undefined method `add_external_transaction_for' for ActiveRecord::Transactions:Module

有人可以帮助我。我需要能够拥有一个与从控制器访问的事务模型相关联的方法,而不必创建一个新的Transaction实例来访问该方法

1 个答案:

答案 0 :(得分:4)

如果您的交易模型如下所示:

class Transaction < ActiveRecord::Base

然后Transaction.add_external_transaction_for(@deposit)应该可以正常工作,它不需要作用于ActiveRecord模块。此外,您可能会看到与ActiveRecord :: Transactions模块的命名冲突。