将模型方法的输出传递给其控制器

时间:2013-05-17 00:39:23

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

我在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'

有关如何正确呈现此内容的任何提示?

谢谢!

1 个答案:

答案 0 :(得分:3)

你称它为类方法。将self添加到您可以使用的方法中。

def self.random_number

现在的方式是,您只能使用Track类的实例访问该方法。

@track = Track.new
@track.random_number