Rails-如何在操作文本中使用批量导入?

问题描述 投票:0回答:1

我正在构建Rails 6应用程序,但遇到了问题。

假设我有一个包含3个字段的表格任务:

  • id
  • 状态
  • 说明

由于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字段?

现在,我被迫使用“一对一”的插入,这需要很长时间!

感谢您带来的任何线索。

ruby-on-rails bulkinsert actiontext
1个回答
0
投票

我认为最简单的方法是按如下方式分割输入:

# 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)

这是您要寻找的吗?

© www.soinside.com 2019 - 2024. All rights reserved.