我正在构建Rails 6应用程序,但遇到了问题。
假设我有一个包含3个字段的表格任务:
由于ActionText,描述字段实际上是一个rich_text字段。
我的问题是,我有一个由3列(id,state,description)组成的csv文件,并且在应用初始化期间,我想使用批量导入将其填充到数据库中。
通常,如果description是普通的列,我会做这样的事情:
Task.insert_all(
# My csv converted in array of hashes [{id: XX, state: YY, description: ZZZZZZZ}]
)
但是由于描述并不是表任务的真正属性,因此它不起作用。如何仍然使用批量导入来导入大量数据,但仍使用action_text字段?
现在,我被迫使用“一对一”的插入,这需要很长时间!
感谢您带来的任何线索。
我认为最简单的方法是按如下方式分割输入:
# Tasks
tasks = { id: XX, state: YY, ... }
# Descriptions
descriptions = { record_type: 'Task', record_id: XX, name: 'Description', body: 'Actual body' }
然后您可以执行以下操作:
Task.insert_all(tasks)
ActionText::RichText.insert_all(descriptions)
这是您要寻找的吗?