2013-05-17 70 views
0

我定義這個方法在我的跟蹤模型傳遞模型方法的輸出到它的控制器

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

,我試圖把它傳遞給軌道控制,以使其他類像軌道控制器的索引視圖對象所以:

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

但仍然得到一個NoMethodError「未定義的方法`random_number'爲#」。

關於如何正確渲染的技巧?

謝謝!

+0

'random_number'可以被重構爲一行:'rand 1..Article.maximum(:id)' – Substantial

+0

偉大的技巧謝謝! –

回答

3

你稱之爲它是一種類方法。將self添加到您最好去的方法中。

def self.random_number 

現在,您只能使用Track類的實例訪問方法。

@track = Track.new 
@track.random_number 
相關問題