我有两个表,在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_foosSQL 显示字段(0.6ms)INSERT INTObars_foos(bar_id,foo_id)VALUES(100,117200)
我查看了ar-extensions,但是import如果没有模型(Model.import),该函数似乎无法工作,因为它不能用于连接表.
我需要编写SQL,还是Rails有更漂亮的方式?