2011-08-09 92 views
1

我是比較新的軌道,我試圖弄清楚這一點,以下訪問來自控制器的模型方法

正確的語法我有一個模型,交易與方法

def self.add_external_transaction_for information 
... 
end 

中聲明transaction.rb

我所要做的就是調用add_external_transaction_for從deposits_controller.rb命名DepositsController像這樣的存款模型不同的控制器

ActiveRecord::Transactions.add_external_transaction_for(@deposit) 

但我看到下面的錯誤

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

可有人請幫助我。我需要能夠擁有與從控制器訪問的事務模型相關聯的方法,而不必創建僅用於訪問該方法的事務的新實例。

回答

4

如果您的事務模型像下面這樣啓動:

class Transaction < ActiveRecord::Base

然後Transaction.add_external_transaction_for(@deposit)應該可以正常工作,它不應該需要先限定ActiveRecord的模塊。此外,您可能會看到與ActiveRecord :: Transactions模塊的命名衝突。

+0

哎呀!謝謝 – alik