2011-08-09 114 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