3
我有一个完成的:布尔列的模型,我想重写,所以我可以添加一些条件代码。覆盖一个ActiveRecord属性
我从来没有重写过ActiveRecord属性,并想知道下面的方法是否是好的做法?
class Article < ActiveRecord::Base
def completed=(b)
write_attribute(:completed, b)
# IF b is true then do something
end
end
我会使用'self [:completed] = b'而不是'write_attribute',它只是感觉整洁。 – 2010-05-17 21:44:56
是的,ActiveRecord的'[]'和'[] ='分别只是'read_attribute'和'write_attribute'的包装,所以使用哪一个更自然。 – mikej 2010-05-17 22:14:39