2010-01-05 112 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