2010-01-05 96 views
1

这可能吗?将自定义方法添加到模型属性?

我想有一些像

User.avatar.to_url 

然后将打印完整的URL地址,用户的头像图片。

=> "http://url.com/images/avatars/1262694724.jpeg" 

当然,avatar属性将是包含长整数的users表上的一个现有列。

的to_url方法IM思考将被定义为:

def to_url 
    "http://url.com/images/avatars/#{self}.jpeg" 
end 

回答

4

如果avatar是一个属性(相对于另一种模式/关联),那么你会通过只是为了保存自己的麻烦的世界在做:

def avatar_url 
    "http://url.com/images/avatars/#{avatar}.jpeg" 
end 
+0

同意,没有很好的理由将to_url添加到您的属性。国际海事组织,那种元编程应该保留给那些有很好理由的情况。 – 2010-01-05 13:02:52

相关问题