我有一个像这样的值的夹具:
product_four:
id: 4
application_id: 1
title: "oldtitle"
deleted_at: ~
设置postgresql数据库进行测试。 但我无法弄清楚如何将deleted_at字段设置为NULL而不是[empty]。 我试过了:
deleted_at: :null
deleted_at: <%= nil %>
deleted_at: ~
deleted_at: NULL
可能还有几个,没有运气。 无知的线索?
答案 0 :(得分:13)
只需保留值:
product_four:
id: 4
application_id: 1
title: "oldtitle"
deleted_at:
例如:
> {:k => ''}.to_yaml
=> "--- \n:k: \"\"\n"
> {:k => nil}.to_yaml
=> "--- \n:k: \n"
> YAML.load({:k => nil}.to_yaml)
=> {:k=>nil}
请注意,k:
表示k
的值为nil
,而k: ""
表示k
的值为空字符串。
如果所有解析器都知道最新的YAML规范,您也可以使用显式null
:
product_four:
id: 4
application_id: 1
title: "oldtitle"
deleted_at: null
例如:
> YAML.load("--- \n:k: null\n")
=> {:k=>nil}