Ruby on rails 将数据插入Rails

Ruby on rails 将数据插入Rails,ruby-on-rails,ruby-on-rails-3,csv,Ruby On Rails,Ruby On Rails 3,Csv,我是rails新手,很难弄清楚如何将数据插入数据库 我正在读取CSV,希望将这些值加载到数据库中。我的模型看起来像这样 class Book < ActiveRecord::Base belongs_to :subject end class Subject < ActiveRecord::Base has_many :books end 我正在按分隔符拆分CSV行 如果主题存在,那么如何插入数据,子图书记录将添加到现有主题中,但如果主题不存在,那么也将创建一个新主题 这

我是rails新手,很难弄清楚如何将数据插入数据库

我正在读取CSV,希望将这些值加载到数据库中。我的模型看起来像这样

class Book < ActiveRecord::Base
  belongs_to :subject
end

class Subject < ActiveRecord::Base
  has_many :books
end
我正在按分隔符拆分CSV行

如果主题存在,那么如何插入数据,子图书记录将添加到现有主题中,但如果主题不存在,那么也将创建一个新主题


这是进行此操作的最佳方法吗?还是有人可以推荐一种更好的方法。

为此感谢@idlefinger:

subject = Subject.find_or_create_by_name("Science")

subject.books.create(:name => "Book A")

不需要重新发明轮子。将标题行添加到csv文件中,将其另存为subjects.csv,然后使用内置装置库加载数据:

这可以通过使用
subject=subject进行大量整理。按名称(“科学”)查找或创建装置。
subject.books。创建(:name=>“Book a”)
Handy,FWIW,要加载装置,请使用“rake db:fixtures:load”。您也可以导出-请参阅
subject = Subject.find_or_create_by_name("Science")

subject.books.create(:name => "Book A")