我有一个名为name
的属性,其中包含attr_accessor
,我在initialize
中设置了它的值:
def initialize
@name = #code
end
我需要实现一个重置方法来重置@name
的值。我能想到的唯一方法是使用我在initialize
中使用的完全相同的代码。我试图找到一种方法,但我所见过的每种方法(例如reload
)仅适用于与ActiveRecord相关联的对象。有什么办法可以避免在两种方法中重复使用相同的代码吗?
答案 0 :(得分:0)
没有。你需要编写代码。 Ruby没有“重置”属性的概念。
#code
是什么,您可以将其移至方法并在initialize
中调用该方法,然后定义执行相同操作的reset
。
class MyClass
def initialize
reset
end
def reset
reset_name
end
private
def reset_name
@name = #code
end
end