2

はじめに: これは、モデル/コントローラー空間からビジネス ロジックを引き出す最初の試みです。ここに、私が抽象化しようとしているいくつかの初期ロジックがあります。パスはapp/services/Date_calc.rb.

class Date_calc
  require User
  require Report

  def months(range)
    User.first.reports.order("report_month desc").limit(range).pluck(:report_month)
  end
end

私のアプリケーションには、User と Reports の 2 つのモデルがあります。ユーザー has_many レポート。reportsテーブルには というフィールドがありますreport_month

Date_calc.months(6)Rails コンソールで呼び出すと、 が返されますTypeError: no implicit conversion of Class into String

私の意図した応答は、日付の配列でした["01/01/2013", "01/02/2013", "01/03/2013", ... ]

ここで何が間違っているのかよくわかりません。

4

2 に答える 2

3

引用符のない require 行に加えて、クラスのインスタンス メソッドを呼び出しています。このように Date_calc をインスタンス化する必要があります

months = Date_calc.new.months(6)

または、このようなクラスメソッドにします

def self.months(range)...
于 2014-12-09T20:00:32.373 に答える