2017-06-02 44 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) 
相關問題