我正在嘗試創建一個軌道夾具來測試一個控制器,該控制器讀取paper_trail寶石(7.0.1)持久保存的版本。但是,我迄今爲止無法在燈具中填充任何版本來進行測試。而且,看起來YAML文件沒有加載/正在打破其他測試。這是我的`versions.yml``文件的內容:Rails YAML夾具錯誤與PaperTrail寶石
---
version_001:
id: 1
item_type: 'DistributionChannel'
item_id: 1
event: 'create'
whodunnit: <%= User.find_by(email: '[email protected]').id.to_s %>
object: nil
created_at: 2017-05-15 12:00:00.000000000 Z
object_changes: '---\\nid:\\n- \\n- 1\\nprimary_channel:\\n- \\n- Best Buy\\nsecondary_channel:\\n- \\n- ''\ncreated_at:\\n- \\n- 2017-05-15 12:00:00.000000000 Z\\nupdated_at:\\n- \\n- 2017-05-15 12:00:00.000000000 Z\\n'
該架構包含BTW相應列的版本表。
在這裏出現肢體,object_changes是否需要雙引號? –
你會得到什麼樣的錯誤信息? 「object_changes」的值是否真正計算**兩次**以從加載的YAML中獲得雙反斜槓(爲此,它們不是**轉義序列,即'\\ n'加載爲3個字符)。你確切的問題是什麼?是否有paper_trail的替代方案?如何將YAML轉換爲JSON?如果你可以使用XML編寫測試? – Anthon
當使用db:fixtures:load加載燈具時,我實際上並沒有收到錯誤,但是當撬入測試時沒有加載任何版本。我一定想繼續使用paper_trail。而且,這是我的理解,我需要逃避新的行字符,因此額外的'\'。因爲我更喜歡工廠,所以我對夾具非常陌生。簡而言之,我期待看看是否有任何明顯的語法錯誤或其他打嗝,以至於那些具有paper_trail經驗的人可能知道這會妨礙加載Fixture。謝謝! – lgants