【问题标题】:How to import model with associations using rails_admin_import gem?如何使用 rails_admin_import gem 导入具有关联的模型?
【发布时间】:2020-09-21 12:07:28
【问题描述】:

我正在尝试导入我的数据库,其中包含 ProjectTechnology 模型(项目有很多技术)。每个项目应至少有 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 接受的格式导出数据?

【问题讨论】:

    标签: ruby-on-rails import rails-admin


    【解决方案1】:

    我找到了一种方法,但可能不是最好的。

    我使用 rails_admin_import 的before_import_associations 方法手动创建了所需的technologies 密钥。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多