2017-06-02 46 views
-1

我不熟悉如何处理在Rails中插入Postgres DB中的JSON。我看到你可以在rails中声明一个json列类型。通过Rails将JSON文件插入到Postgres中

我现在要运行的命令Users.new(“鲍勃”,鲍勃),但得到的错误:

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) 
+0

你有没有在表格中使用jsonb列?可能值得你花时间。我发现这篇文章非常有用:http://nandovieira.com/using-postgresql-and-jsonb-with-ruby-on-rails – jvillian

回答

0

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

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

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

Users.new("Bob", bob) 

成为

Users.new(name: "Bob", data: bob) 
相关问题