Rails импортирует CSV с заголовками, которые имеют длинные имена и сопоставляются с полями ассоциации - PullRequest
0 голосов
/ 16 октября 2019

Вот очень простой вопрос от новичка: у меня есть CSV пользователей для загрузки, с одним из заголовков, названным country of origin of user. Это должно быть сопоставлено со столбцом в таблице users с именем country_id во время импорта. country has_many users. Я изо всех сил пытаюсь импортировать такие виды заголовков столбцов в CSV, которые отображаются на ассоциацию и которые имеют смешные имена. Много дней пытался, но я еще не справился. Вот метод, который я использую для импорта данных, и я использую Roo

def load_imported_users
    spreadsheet = open_spreadsheet
    header = spreadsheet.row(1)
    (2..spreadsheet.last_row).map do |i|
      row = Hash[[header, spreadsheet.row(i)].transpose]
      user = User.find_by_national_id(row["national_id"]) || User.new
      user.attributes = row.to_hash
      user
    end
  end

Помощь будет оценена, спасибо!

...