【问题标题】:Access a model method from a controller从控制器访问模型方法
【发布时间】:2011-10-22 20:24:20
【问题描述】:

我对 Rails 比较陌生,正在尝试找出以下正确的语法

我有一个模型交易的方法

 def self.add_external_transaction_for information
...
end

在 transaction.rb 中声明

我想要做的是从一个名为 DepositsController 的不同控制器调用 add_external_transaction_for 用于 Deposits_controller.rb 中这样的存款模型

ActiveRecord::Transactions.add_external_transaction_for(@deposit)

但是我看到以下错误

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

谁能帮帮我。我需要能够拥有一个与从控制器访问的 Transaction 模型相关联的方法,而无需创建一个新的 Transaction 实例来访问该方法

【问题讨论】:

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


    【解决方案1】:

    如果你的事务模型是这样开始的:

    class Transaction < ActiveRecord::Base

    那么Transaction.add_external_transaction_for(@deposit) 应该可以正常工作,它不应该被限定为 ActiveRecord 模块。此外,您可能会看到与 ActiveRecord::Transactions 模块的命名冲突。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      • 2018-11-15
      • 2012-08-23
      相关资源
      最近更新 更多