我对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实例来访问该方法
答案 0 :(得分:4)
如果您的交易模型如下所示:
class Transaction < ActiveRecord::Base
然后Transaction.add_external_transaction_for(@deposit)
应该可以正常工作,它不需要作用于ActiveRecord模块。此外,您可能会看到与ActiveRecord :: Transactions模块的命名冲突。