问题描述
我正在尝试导入具有Project
和Technology
模型的数据库(项目具有许多技术)。每个项目至少应具有1种技术。我为此任务使用rails_admin_import gem。据我了解,在项目导入期间,gem应该找到模型的关联(在我的情况下为技术),并将它们关联到模型(如果存在)。
当我导入技术时,一切都很好,但是当我导入项目时,对于每个项目,我都会收到此错误:
Failed to create Project_1: Technologies minimum allowed: 1
我尝试在导入技术之前导入项目,然后,将它们添加到两个映射键中,但是没有任何改变:
config.model 'Project' do
import do
mapping_key :name
include_all_fields
end
end
config.model 'Technology' do
import do
mapping_key :name
include_all_fields
end
end
也许有人可以帮助我,说我做错了什么?
UPD:问题是我使用默认的rails_admin export导出了数据,这样将数据保存在csv中:
但是rails_admin_import需要使用以下格式的数据:
所以我需要更改我的问题。我应该如何配置rails_admin以便它以rails_admin_import接受的格式导出数据?
解决方法
我找到了一种方法,但可能不是最好的方法。
我使用rails_admin_import的index
方法手动创建所需的Cell: ({ row }) => (
<Dropdown isOpen={dropdownToggles[row.index]} toggle={() => setDropdownToggles(handleDropdownToggles(row.index))}>
</Dropdown>
)
密钥。
before_import_associations