У меня есть текстовый файл с данными, которые мне нужно сохранить в базе данных.
В действии контроллера Rails у меня есть что-то вроде этого:
class ImportDataController < ApplicationController
protect_from_forgery except: :abc_client
def abc_client
...simplified code:...
...loading data from a file...
car = {}
car[:attr1] = something
car[:attr2] = something
car[:attr3] = something
...and so on...
...now I try to save the record to the DB...
@car = Cars::Crud::CreateService.new(car).create
end
end
И я получаю эту ошибку:
private method `require' called for #<Hash:0x007fb2e2ef6040>
и точки ошибки в этом блоке кода:
def car_params(params)
params.require(:car).permit(:attr1, :attr2, ...)
Я также пытался создать запись "обычно" через форму Rails, скопировал хеш из консоли и попытался сохранить ее, например:
params = {"utf8"=>"✓", "authenticity_token"=>"kXMd23s4msX2OzhUAX2CWqyphnpCPNorQOvoitatj8uBsQBgGYbTgfoR1wTTWlufo++esyb5m9ogBfSHbCrAPA==", "car"=>{"attr1"=>"6", ...
@car = Cars::Crud::CreateService.new(params).create
Но это привело к тому же сообщению об ошибке.
Как мне это понять?
Спасибо