2013-02-17 27 views
-1

如何在模型中獲取將返回特定模型的值的方法。通過提供我的模型獲取一個屬性編號

的代碼是有跟隨

示範公約第

def article_title(id) 
    art = Article.find_by_id(id) 
    return art.title 
end 

的觀點是遵循

<% arttitle = Article.article_title(id) %> 

這並不工作,但我不知道什麼樣的方式來做到這一點

+0

什麼不行?有沒有錯誤? – Baldrick 2013-02-17 20:50:48

+0

當我打電話給它時,它說undefined article_title是undefined – Jseb 2013-02-17 20:56:57

+0

這是非常糟糕的做法。也許告訴我們爲什麼你覺得你必須通過視圖來看標題。 – 2013-02-18 01:27:58

回答

1

該方法應該定義爲一個類方法,其中self關鍵字

def self.article_title(id) 
    Article.find(id).title 
end 
2

您已經定義了一個實例方法,如果你把它叫做上的一篇文章實例,它應該實際工作(但將沒有多大意義,在設計方面)。將其定義爲self.article_title(id)以使其成爲類方法。

此外,在您的視圖中定義變量並執行查找通常不是一種好的做法。視圖是用於顯示信息的模板 - 僅此而已。您的業​​務邏輯越是以不可預知的方式通過您的應用傳播,未來的開發和變更就越困難。

+0

我同意,但它是我能看到所有必需信息的唯一方法 – Jseb 2013-02-17 21:13:37

相關問題