2016-01-22 83 views
0
@hac = HacCfgGroup.find(1897) 
b = @hac 
>> @hac.status 
=> 2 


>> @hac.status = 4 
=> 4 
>> b.status 
=> 4 

HacCfgGroup是一个具有许多属性的对象。 如何让b保持原来的价值?花了这么长时间仍然不知道如何保持一个对象没有改变。参考对象并在ruby中保留其原始值

回答

0

b@hac指向相同的对象。尝试b = @hac.dup创建一个重复的对象。

+0

似乎不工作?我仍然可以通过@hac修改b,尽管他们是dup –

+0

克隆将工作 –

+0

请参阅'clone'和'dup'的区别:http://stackoverflow.com/questions/10183370/whats-the-difference-间RUBYS-DUP和克隆的方法。 –