在类定义中,除了用于存储这些值的容器为nil之外,我得到了一个除了数据库值之外我想要返回的属性列表:
class Label < ActiveRecord::Base
CONFIRM_DATA = ["attr1", "attr2"]
# "attr1", "attr2" is database fields
CONFIRM_DATA.each do |att|
alias_attribute "original_#{att}".to_sym, att.to_sym
define_method att.to_sym do
temp_attr_store[ att.to_sym ] || read_attribute( "original_#{att}".to_sym)
end
end
end
如您所见,我尝试在temp_attr_store
中存储属性的一些临时值:它们应该出现而不是db值,并希望影响对象的关联。
上述代码不起作用,所有attr1
访问结果均为零。
谢谢!