我有一个图片类,我想根据某些逻辑覆盖返回“描述”数据库列值。
这在 Rails 中有效吗?在返回数据库列值之前,我可以一直依赖类调用类方法吗?
# database columns for Picture class
# description => String
# parent_id => Integer
class Picture < ActiveRecord::Base
def description
if parent_id.nil?
self.description
else
description = Picture.find(parent_id).description
end
end
end
无法弄清楚在 Rails 源代码中的哪里可以找到答案,因此我们将不胜感激。
谢谢!
编辑
我正在尝试返回图片的描述,具体取决于它是子图片还是父图片(它们可以嵌套)。这个例子有点做作......我可以通过使用与数据库列没有相同名称的方法来轻松避免这种情况......例如
def my_description
if parent_id.nil? # return db data since no parent
self.description
else # return parent's description if one exists
description = Picture.find(parent_id).description
end
end
我想我在这里试图变得不必要的复杂