Архив .json импорт по rails api

#ruby-on-rails #json #ruby #api

Вопрос:

У меня возникли проблемы с импортом файла .json и сохранением данных внутри него в базе данных api. Мой код выглядит так:

 def create  content = JSON.parse(File.open(params[:products]).read)  @product = Product.new(content)  if @product.save  render json: { message: 'Produto Salvo', data: @product }, status: 200  else  render json: @product.errors, status: :unprocessable_entity  end  end  

Файл(products.json)содержит эти данные:

 [{  "title": "Brown eggs",  "type": "dairy",  "description": "Raw organic brown eggs in a basket",  "filename": "0.jpg",  "height": 600,  "width": 400,  "price": 28.1,  "rating": 4 }, {  "title": "Sweet fresh stawberry",  "type": "fruit",  "description": "Sweet fresh stawberry on the wooden table",  "filename": "1.jpg",  "height": 450,  "width": 299,  "price": 29.45,  "rating": 4 }]  

К моменту реализации метода все поля сохраняются как НУЛЕВЫЕ:

 #lt;ActiveRecord::Relation [#lt;Product id: 3, title: nil, product_type: nil, description: nil, filename: nil, height: nil, width: nil, price: nil, rating: nil, created_at: "2021-11-10 14:15:11.261454000  0000", updated_at: "2021-11-10 14:15:11.261454000  0000"gt;]gt;  

Как сохранить правильно заполненные данные?

Ответ №1:

Похоже, вы читаете в массиве из нескольких продуктов?

Я бы предложил вставить binding.pry между тем, где вы установили content , и тем, где вы установили @product

Вставьте значение content здесь, и я думаю, что решение станет ясным.