ruby-on-rails - rails yaml fixture - 指定 NULL 值

标签 ruby-on-rails postgresql null yaml fixtures

我有一个固定值是这样的:

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

可能还有更多,运气不好。 为无知者提供线索?

最佳答案

只留下值(value):

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 有一个空字符串作为它的值。

你也可以使用明确的 null如果您所有的解析器都知道最新的 YAML 规范:

product_four:
     id: 4
     application_id: 1
     title: "oldtitle"
     deleted_at: null

例如:

> YAML.load("--- \n:k: null\n")
 => {:k=>nil} 

关于ruby-on-rails - rails yaml fixture - 指定 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21269050/

相关文章:

database - 在(postgresql)数据库中存储 EUI-64 地址的数据类型

python - 搭建学习平台——将练习与类(class)联系起来——单字段还是外键?

ios - Swift Admob 插页式错误

ruby-on-rails - 您推荐哪个 RVM 和 Ruby 版本?

javascript - 脚本导致链接调用服务器两次

postgresql - 如何在 Postgres 中运行通过 pgagent 创建的作业

java - 检索方法应该返回 'null' 还是在无法生成返回值时抛出异常?

sql - Postgres 递增列中的空值

ruby-on-rails - 收到消息的访问次数?

jquery - RoR中ajax页面请求期间触发JS加载消息的最简洁方法是什么