2010-07-31 84 views
0

我有一本与作者一对多关系的模型书。一对多和虚拟属性

我要的属性添加到一本书实例调用last_author是把最新的作者,可以实现为

def last_author 
self.authors.last.name 
end 

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

回答

0

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

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

+0

这是一个很长的故事,但我需要它! (for_json ..但它很长的解释) – tapioco123 2010-07-31 15:23:03

+0

哦,我明白了。就个人而言,我会用辅助方法去做转换,然后。 – 2010-07-31 15:59:33

+0

我该如何写他们? – tapioco123 2010-08-01 10:05:04