一对多和虚拟属性

时间:2010-07-31 14:38:38

标签: ruby-on-rails

我有一本与作者有一对多关系的模型书。

我想为名为last_author的图书实例添加一个属性,该图书实例可以放置最新的作者,并且可以实现为

def last_author
self.authors.last.name
end

但是当我做Book.find(1)。我不能看到字段last_author,但我想要它。如何在不将查询写入活动记录的情况下实现这一目标?

1 个答案:

答案 0 :(得分:0)

为什么你需要一个属性而不是函数?使用您提供的代码Book.find(1).last_author应该返回您想要的内容。

如果您坚持使用属性,可以在使用之前手动设置,例如book.last_author = book.authors.last.name。但不是说我推荐它。