我有一种情况,其中构建了子节点但未保存,然后在视图中使用对父节点的引用。这导致了大量使用rails记录缓存。我想让父母'急切地加载'未保存的儿童记录。
class Parent < ActiveRecord::Base
has_many :children
def make_children
loop..
children_array << children.build(...)
end
end
end
然后在视图中(注意'child'未保存到DB):
children_array.each do |child|
# What's the best way to optimise this so it doesn't
# keep selecting parent albeit from the cache?
child.parent
end
答案 0 :(得分:0)
我不确定我是否理解这个问题。查询缓存是你的朋友......!您对.parent
的调用没有到达数据库。
如果您可以提供有关您尝试执行的操作的更多信息,则可能更容易帮助解决问题。