0

このメソッドを Track モデルで定義しました

def random_number
    max = Article.maximum(:id)
    id = rand(1..max)
    return id
end

それを Tracks コントローラに渡して、次のように Tracks コントローラのインデックス ビューに別のクラス オブジェクトをレンダリングしようとしています。

def index
  @tracks = Track.all
  id = Track.random_number
  @random = Article.find_by_id(id)
end

それでも、NoMethodError "undefined method `random_number' for #" が発生し続けます。

これを正しくレンダリングする方法に関するヒントはありますか?

ありがとう!!

4

1 に答える 1

3

クラスメソッドのように呼び出しています。selfメソッドに 追加して、準備完了です。

def self.random_number

現在の方法では、Track クラスのインスタンスを使用してのみメソッドにアクセスできます。

@track = Track.new
@track.random_number
于 2013-05-17T00:41:08.480 に答える