簡體   English   中英

如何使用 rails_admin_import gem 導入關聯的 model?

[英]How to import model with associations using rails_admin_import gem?

我正在嘗試導入我的數據庫,它有ProjectTechnology模型(項目有很多技術)。 每個項目應該至少有 1 項技術。 我使用 rails_admin_import gem 來完成這項任務。 據我了解,在項目導入期間,gem 應該找到 model 的關聯(在我的案例中是技術)並將它們連接到 model(如果存在)。

當我導入技術時一切都很好,但是當我導入項目時,每個項目都會收到此錯誤:

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 接受的格式導出數據?

我找到了一種方法來做到這一點,但可能不是最好的方法。

我使用before_import_associations的 before_import_associations 方法手動創建所需的technologies密鑰。

def before_import_associations(record)
  record[:technologies] = record[:name_technologies].split(',')
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM