Итак, у меня есть следующее в моей модели Occupant:
def self.import(file)
CSV.foreach(file.path, headers: true, header_converters: :symbol) do |row|
Occupant.create! row.to_h
end
end
В моем OccupantController у меня есть
def new
@occupant = Occupant.new(training_event_id: occupant_params[:training_event_id])
respond_with @occupant
end
def import
occupant = Occupant.import(params[:file])
respond_with @occupant
end
Я добавил новый метод просто для того, чтобы показать, что Occupant принадлежит_Обору обучения и событиетребуется. Теперь пользователи будут импортировать список данных, в которых НЕ присутствует training_event_id. Как мне обновить / добавить столбец текущего training_event_id в CSV?
Я возился с гемом activerecord-import, но та же проблема заключается в том, что я не могу понять, как добавить втекущий идентификатор TrainingEvent для метода, который находится в модели.
EDIT:
Форма для импорта существует в Admin> TrainingEvent> Show и имеет:
=form_tag import_admin_occupants_path, multipart: true do
=hidden_field_tag :training_event_id, value: @occupant.training_event_id
=file_field_tag :file
=submit_tag 'Import'
Я подумал, может быть, я мог бы вставить сюда training_event_id, но я предполагаю, что он не применяет фактический идентификатор к файлу.