我能够将模型的所有字段导出到CSV文件,但现在我需要从另一个与原始模型具有has_many关系的模型中添加一些属性。
我的控制器文件看起来像
Address
student.rb
<Binding Source="{StaticResource ServerData}" XPath="Server/Address" />
它工作正常,但因为业余爱好是与学生有很多关系的另一张桌子,因为学生有很多爱好,我想在csv中为每个学生显示爱好作为逗号分隔列表。我对如何实现这一点感到困惑。
任何帮助将不胜感激。
答案 0 :(得分:3)
我会做这样的事情:
CSV_HEADER = %w[surname given_name admission_year admission_no hobbies]
def self.as_csv
CSV.generate do |csv|
csv << CSV_HEADER
all.each do |student|
csv << [
student.surname,
student.given_name,
student.admission_year,
student.admission_no,
student.hobbies.pluck(:title).join(', ')
]
end
end
end
您可能需要使用将爱好作为字符串返回的属性名称调整title
。