2013-02-17 70 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

相关问题