我不熟悉如何处理在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)
答案 0 :(得分:0)
我忘了添加我传递值的列的名称。
Users.new("Bob", bob)
成为
Users.new(name: "Bob", data: bob)
答案 1 :(得分:0)
您需要指定列的名称。试试这个:
Users.new(name: "Bob", data: bob)