加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何将Postgres JSON值放入Rails夹具?

发布时间:2020-12-17 03:56:59 所属栏目:百科 来源:网络整理
导读:我刚刚将一个Postgres json类型添加到我正在使用的Rails / Active Record表中. 我想在Rails灯具中使用默认值填充记录: fixture_id: existing_column: "foobar" newly_added_column: %= JSON.dump({:reason = 'foobar'}) % 以前,我将这种方式的字符串化JSON
我刚刚将一个Postgres json类型添加到我正在使用的Rails / Active Record表中.
我想在Rails灯具中使用默认值填充记录:

fixture_id:
  existing_column: "foobar"
  newly_added_column: <%= JSON.dump({:reason => 'foobar'}) %>

以前,我将这种方式的字符串化JSON存储在文本列中.但是,当我现在运行此单元测试时:

test "my test" do
  sut = fixtures(:fixture_id)
  assert_not_nil sut.newly_added_column
end

测试失败.因为它在数据库级别是JSON,我不认为将它转储到字符串是有用的,但是YAML fixtures似乎不能将对象保留为Hash(当我在没有JSON.dump的情况下尝试它时,我获取ActiveRecord :: Fixture :: FormatError:解析时出现YAML错误).

请注意,我正在使用Rails 3,所以我认为对此的一些支持可能在Rails 4中,但在Rails 3中,添加json Postgres列类型的迁移仍然有效.

解决方法

我相信你的夹具可以像下面这样简单:

fixture_id:
  existing_column: foobar
  newly_added_column: {'reason':'foobar'}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读