我有 3 个模型(流派、情绪、节奏),每个模型都与另一个模型(轨道)有 has_and_belongs_to_many 关联。用户可以上传包含每个曲目信息的 Excel 文件,我希望能够在我的更新方法中创建相应的记录并一次添加所有关联。
我正在从电子表格中读取每一行,并创建包含与每首曲目关联的流派、情绪和节奏的数组,但我不确定如何正确创建关联。
就像是:
1.upto @worksheet.last_row_index do |index|
row = @worksheet.row(index)
genres = row[6].split(", ")
genres.each do |g|
Genre.find_or_create_by_name(g) // not sure what to do here exactly
end
end
Track ID 为 row[0]。
如果每个流派不存在,我需要创建它,并将该轨道与每个流派相关联。如果流派确实存在,那么我只需要创建关联。情绪和节奏也是如此。
感谢您的任何帮助。