通过提供id来获取模型中的属性

时间:2013-02-17 20:44:03

标签: ruby-on-rails ruby ruby-on-rails-3

如何在模型中获取一个返回特定模型值的方法。

代码已经跟随

模型文章

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

视图如下

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

这不起作用,但我不确定如何做到这一点

2 个答案:

答案 0 :(得分:2)

您已经定义了一个实例方法,如果您在文章实例上调用它,它实际上应该可以工作(但这在设计方面没有多大意义)。将其定义为self.article_title(id)以使其成为类方法。

此外,在视图中定义变量和执行查找通常不是一种好习惯。视图是显示信息的模板 - 仅此而已。您的业​​务逻辑以不可预测的方式在您的应用中传播得越多,将来发展和变革的难度就会越大。

答案 1 :(得分:1)

该方法应定义为类方法,self关键字

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