为什么我的默认属性访问器没有被覆盖?

时间:2011-11-14 20:56:35

标签: ruby-on-rails attributes getter overwrite accessor

我有一个文章模型。数据库模式有几列,包括'title'。我试图提供我自己的getter来代替method_missing提供的getter。目前我只是在努力:

class Article < ActiveRecord::Base
  def title
    "blah"
  end
end

但是当我重新加载视图时,标题字段继续来自数据库。 (我的服务器环境是开发,我正在使用Rails 3.1.0。)有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果存在'before_type_cast'变体,则输入助手不使用普通访问者,因此在您的情况下,它正在访问title_before_type_cast

要么定义它,要么完全选择另一个方法名称。我会建议后者,因为即使没有这种复杂性,覆盖访问器也会令人困惑。不要打ActiveRecord,你不会赢。