Rails在has_many:through关系中创建数据

Ngoc Nghia

我有这些文件和CSV文件。现在我想

job.rb

class Job < ApplicationRecord
  has_many :city_jobs
  has_many :cities, through: :city_jobs
end

city.rb

class City < ApplicationRecord
  has_many :city_jobs
  has_many :jobs, through: :city_jobs
end

city_jobs.rb

class CityJob < ApplicationRecord
  belongs_to :city
  belongs_to :job
end

迁移文件

    create_table :jobs do |t|
      t.string :title
      t.string :level
      t.string :salary
      t.string :other_salary
      t.text :description
      t.text :short_des
      t.text :requirement
      t.integer :category
      t.datetime :post_date
      t.datetime :expiration_date
      t.references :company, foreign_key: true

      t.timestamps
    end

    create_table :cities do |t|
      t.string :name, unique: true
      t.string :region

      t.timestamps
    end


    create_table :city_jobs do |t|
      t.references :city, foreign_key: true
      t.references :job, foreign_key: true

      t.timestamps
    end

Import.rb需要“ csv”

class JobsImport
  def import_job
    jobs = []
    cities = []

    job_columns = [:title, :level, :salary, :description, :short_des,
                   :requirement, :category, :company_id]
    city_columns = [:name, :region]

    CSV.foreach(Rails.root.join("lib", "jobss.csv"), headers: true) do |row|
         cities << {name: row["company province"], region: "Việt Nam"}
         jobs << JobCsv.new(row).csv_attributes
    end

    City.import city_columns, cities, on_duplicate_key_ignore: true
    Job.import job_columns, jobs
    puts "Data imported"
  end
end

我已经从CSV导入了City和Job到数据库。现在如何创建保留City_id和Jobs_id的City_jobs表数据?请帮我!谢谢!

竿

您可以再次遍历CSV文件以连接两个表。

CSV.foreach(Rails.root.join("lib", "jobss.csv"), headers: true) do |row|
     city = City.find_by(name: row["company province"])
     job = Job.find_by(JobsCsv.new(row).csv_attributes)
     city.jobs << job
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Rails中创建has_many关系记录?

来自分类Dev

在rails_admin中为has_many:through关系使用rails 4中的orderable

来自分类Dev

如何在Rails中的同一模型(用户)之间建立has_many:through关系?

来自分类Dev

has_many中的Rails NameError未初始化常量:through关系

来自分类Dev

Rails Active Record,从has_many:through关系中获取相关记录,并与where子句关联

来自分类Dev

链接到has_many中的关系名称:through

来自分类Dev

Rails 4 has_many:through关系:在从父模型创建动作时分配默认值以加入模型属性

来自分类Dev

Rails has_many关系中缺少触摸选项

来自分类Dev

Rails 4中has_many关系的多个条件

来自分类Dev

Ruby on Rails 5.0中的has_many关系

来自分类Dev

Rails遍历has_many关系中的对象

来自分类Dev

从Rails中的has_many关系的多个级别检索记录

来自分类Dev

Ruby on Rails'has_many:through',存储数据

来自分类Dev

Ruby on Rails'has_many:through',存储数据

来自分类Dev

ActiveRecord如何在Rails中通过has_many:through关系将现有记录添加到关联中?

来自分类Dev

Rails Active Record,从has_many:through关系中获取相关记录,并通过where子句设置record

来自分类Dev

在同一模型中的Rails关联“ has_many:through”

来自分类Dev

Ruby on Rails has_many关系

来自分类Dev

如何在Rails中以编程方式将数据添加到模型的has_many关系中?

来自分类Dev

has_many / :through rails4

来自分类Dev

Rails集合_选择Has_Many Through

来自分类Dev

密码中的嵌套has_many关系

来自分类Dev

在DetailView中的Has_many关系

来自分类Dev

将列数据添加到“has_many through”关系

来自分类Dev

Rails 4:在创建模型时能够选择一个模型的多个实例,它具有has_many:through关系,与

来自分类Dev

Rails Emirates_to和has_many没有创建主外键关系

来自分类Dev

Rails Emirates_to和has_many没有创建主外键关系

来自分类Dev

rails has_many :through 或 has_many_belongs_to

来自分类Dev

Rails 4:附加到“ has_many”关系而不保存到数据库

Related 相关文章

  1. 1

    如何在Rails中创建has_many关系记录?

  2. 2

    在rails_admin中为has_many:through关系使用rails 4中的orderable

  3. 3

    如何在Rails中的同一模型(用户)之间建立has_many:through关系?

  4. 4

    has_many中的Rails NameError未初始化常量:through关系

  5. 5

    Rails Active Record,从has_many:through关系中获取相关记录,并与where子句关联

  6. 6

    链接到has_many中的关系名称:through

  7. 7

    Rails 4 has_many:through关系:在从父模型创建动作时分配默认值以加入模型属性

  8. 8

    Rails has_many关系中缺少触摸选项

  9. 9

    Rails 4中has_many关系的多个条件

  10. 10

    Ruby on Rails 5.0中的has_many关系

  11. 11

    Rails遍历has_many关系中的对象

  12. 12

    从Rails中的has_many关系的多个级别检索记录

  13. 13

    Ruby on Rails'has_many:through',存储数据

  14. 14

    Ruby on Rails'has_many:through',存储数据

  15. 15

    ActiveRecord如何在Rails中通过has_many:through关系将现有记录添加到关联中?

  16. 16

    Rails Active Record,从has_many:through关系中获取相关记录,并通过where子句设置record

  17. 17

    在同一模型中的Rails关联“ has_many:through”

  18. 18

    Ruby on Rails has_many关系

  19. 19

    如何在Rails中以编程方式将数据添加到模型的has_many关系中?

  20. 20

    has_many / :through rails4

  21. 21

    Rails集合_选择Has_Many Through

  22. 22

    密码中的嵌套has_many关系

  23. 23

    在DetailView中的Has_many关系

  24. 24

    将列数据添加到“has_many through”关系

  25. 25

    Rails 4:在创建模型时能够选择一个模型的多个实例,它具有has_many:through关系,与

  26. 26

    Rails Emirates_to和has_many没有创建主外键关系

  27. 27

    Rails Emirates_to和has_many没有创建主外键关系

  28. 28

    rails has_many :through 或 has_many_belongs_to

  29. 29

    Rails 4:附加到“ has_many”关系而不保存到数据库

热门标签

归档