我正在尝试使用嵌套属性实现导入,紧跟以下内容: Rails Cast CSV Import
要导入的字符串示例如下:
id subject_list_name subject_codes
1 CE2A [CPE205, CPE206, CPE301, CPE302, CPE303]
使用以下代码,我正在尝试导入
现在,我可以导入主题列表的数据,但在导入关系数据时遇到问题。 (即我可以更改主题列表名称,但不能使用主题代码)
以下代码段就是我所做的。
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
#each row
subject_list = find_by_id(row["id"]) || new
subject_list.attributes = row.to_hash.slice(*accessible_attributes)
subject_list.save!
subject_codes = row["subject_codes"]
subject_codes = subject_codes.delete('[]')
subject_codes = subject_codes.split(', ')
#each subject code
subject_codes.each do |code|
subject_list.subjects.where(subject_code:code)
.first_or_create!(subject_code:code)
end
end
end
关于如何实现两者之间关系的任何建议都将不胜感激。