Rails属性覆盖

时间:2011-04-15 10:47:13

标签: ruby-on-rails-3 activerecord

我有一个带有attriubte“名字”的模型。我希望能够创建一个返回name.capitalize的getter“name”。

但问题是,保存模型时,大写的名称将写入数据库。建议?

2 个答案:

答案 0 :(得分:1)

def name
  attributes["name"].capitalize
end

最好使用方法的另一个名称

def capitalized_name # or "cap_name"
  name.capitalize
end

答案 1 :(得分:0)

def name
  read_attribute(:name).capitalize
end