相关疑难解决方法(0)

在Rails中创建大规模HABTM关联的最快方法是什么?

我有两个表,在Rails中有HABTM关系.类似于以下内容:

class Foo < ActiveRecord::Base
  has_and_belongs_to_many :bars
end

class Bar < ActiveRecord::Base
  has_and_belongs_to_many :foos
end

现在我有了一个新Foo对象,并希望为它预先加载数千个条形码,我预先加载了它:

@foo = Foo.create
@bars = Bar.find_all_by_some_attribute(:a)

最快的方法是什么?我试过了:

@foo.bars = @bars
@foo.bars << @bars
Run Code Online (Sandbox Code Playgroud)

两者都运行得很慢,每个条目都有以下条目bar:

bars_foos列(1.1ms)从bars_foos SQL 显示字段(0.6ms)INSERT INTO bars_foos(bar_id, foo_id)VALUES(100,117200)

我查看了ar-extensions,但是import如果没有模型(Model.import),该函数似乎无法工作,因为它不能用于连接表.

我需要编写SQL,还是Rails有更漂亮的方式?

activerecord ruby-on-rails has-and-belongs-to-many

14
推荐指数
2
解决办法
3946
查看次数