我正在尝试创建一个轨道夹具来测试一个控制器,该控制器读取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