通过Rails将JSON文件插入Postgres

时间:2017-06-02 16:17:16

标签: ruby-on-rails json postgresql

我不熟悉如何处理在Rails中的Postgres数据库中插入JSON。我看到你可以在rails中声明一个json列类型。

我现在想要运行命令Users.new(“Bob”,bob)但得到错误:

ArgumentError: wrong number of arguments (given 2, expected 0..1)

bob = {
      name: "Bob",
      occupation: "Coder",
      pets: [
        name: "Foo",
        type: "dog"
      ]
    }

class CreateUsers < ActiveRecord::Migration[5.1]
  def change
    create_table :users do |t|
      t.string :name
      t.json :data
    end
  end
end

在Rails控制台中,我还仔细检查了我的表格以确保它符合我的预期。所以不确定我做错了什么。

User(id: integer, name: string, data: json) 

2 个答案:

答案 0 :(得分:0)

我忘了添加我传递值的列的名称。

Users.new("Bob", bob) 

成为

Users.new(name: "Bob", data: bob)

答案 1 :(得分:0)

您需要指定列的名称。试试这个:

Users.new(name: "Bob", data: bob)