我有两个表,在 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
两者都运行得很慢,每个条目如下所示bar
:
bar_foos 列 (1.1ms) SHOW FIELDS FROM
bars_foos
SQL (0.6ms) INSERT INTObars_foos
(bar_id
,foo_id
) VALUES (100, 117200)
我查看了 ar-extensions,但import
如果没有模型 (Model.import),该函数似乎无法工作,因为模型 (Model.import) 无法将其用于连接表。
我需要编写 SQL,还是 Rails 有更漂亮的方法?