2010-07-26 147 views
0

我有一個標籤是「保存&副本」的按鈕,用於保存當前對象(@student)並將其重定向回新操作,這些新操作包含所有先前的對象屬性。我已經stucked如何填充以前的值。克隆一個對象

ROR是否提供任何此類方法來製作對象的克隆。

+1

你試過了@@ student.clone嗎? – mckeed 2010-07-26 16:13:45

回答

2

Ruby on Rails提供了clone方法,該方法創建對象的淺表副本。在你的情況,你可以使用它像:

@previous_student = @student.clone

clone方法的文檔指出:

返回記錄的克隆是 尚未分配一個ID但並 被視爲新紀錄。請注意, 這是一個「淺」克隆:它僅複製 對象的屬性,而不復制它的 關聯。 「深」克隆的範圍是特定於應用程序的,因此根據其需要應用於 實施。

http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M001848

如文檔中說明,你也許應該重寫clone方法,實現自己的克隆,如果在Student模型中使用的關聯。

乾杯