【问题标题】:Ruby on rails - how to use nested modelsRuby on rails - 如何使用嵌套模型
【发布时间】:2014-07-15 11:14:18
【问题描述】:

我有模特

class Company::Office < ActiveRecord::Base
  ...

  def outcome_loans
    moneys.where(
      "date >= ? AND account_from = ? AND account_to = ?",
      Time.now.beginning_of_day,
      Book::Account.find_by_number('50').id,
      Book::Account.find_by_number('66.1').id
    ).sum(:outcome)
  end

end

当我尝试调用方法“outcome_loans”时,我收到错误“NameError: uninitialized constant Company::Book::Account”

如何告诉 Rails,我想使用“Book::Account”而不是“Company::Book::Account”

【问题讨论】:

    标签: ruby-on-rails ruby class nested-class


    【解决方案1】:

    是的,写成

    def outcome_loans
        moneys.where(
          "date >= ? AND account_from = ? AND account_to = ?",
          Time.now.beginning_of_day,
          ::Book::Account.find_by_number('50').id,
          ::Book::Account.find_by_number('66.1').id
        ).sum(:outcome)
    end
    

    现在,您将能够在Company::Office 中使用Book 类。

    阅读此Ruby: what does :: prefix do?

    【讨论】:

      猜你喜欢
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多