将自定义方法添加到模型属性?

时间:2010-01-05 12:36:14

标签: ruby-on-rails

这有可能吗?

我想要像

这样的东西
User.avatar.to_url
然后

将打印用户头像图像的完整URL地址。

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

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

我想到的to_url方法将被定义为:

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

1 个答案:

答案 0 :(得分:4)

如果avatar是一个属性(而不是另一个模型/关联),那么你就可以通过以下方式为自己省去一个麻烦的世界:

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