2013-03-20 46 views
0

我有興趣在我的Rails應用中使用vestal_versions gem,但是我想知道是否有人知道是否有任何方法可以創建新版本,但實際上並未更新關聯的ActiveRecord。例如,如果我有一個名字爲「jim」的用戶,並且我創建了一個名爲「steve」的新版本,我希望能夠在不更改父記錄的情況下保留該版本,直到我想要在稍後的時間(使用revert_to!(newer_version)或一些這樣的)。Rails vestal_versions gem在不保存父項的情況下創建版本

如果這不是內置在寶石中,我應該開始補丁的位置的任何線索?

回答

0

在調查了這個寶石的行爲之後,我發現這不是vestal_versions真正設置的事情。

你可以強制這種行爲的東西,如:在「版本」的模式

def create_version 
    merge_version_changes 
    create_version 
end 

,但在創建與你已經把你生活的ActiveRecord,而無需修改父變化的新版本對象的表,當你使用:

blah = Blah.first 
blah.version 

它會告訴你,你使用的是最新版本,但沒有加載的數據(因爲它從來沒有改變過)。如果您使用:

blah.revert_to(:last) 

它不會更改您的記錄,因爲它認爲您已經在使用最新版本。等..

長話短說,vestal_versions並不打算有這種行爲,它不應該被期望這樣做。我現在正在調查has_drafts gem,因爲它似乎更接近我想要做的事情。

相關問題