0

我在我的 Track 模型中定义了这个方法

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

并试图将它传递给 Tracks 控制器以在轨道控制器的索引视图中呈现另一个类对象,如下所示:

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

然而不断收到 NoMethodError “未定义的方法 `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 回答