0
我想显示一个带有树结构的下拉列表。使用@manoj给出的this SO解决方案,category_options_array的代码在模型的选择表单控件中以奇妙的方式显示树更少的条目,但另一个模型有大约30个父ID,其中一些具有1级深度,服务器崩溃。实际上,即使它使用了20个parent_ids,它也会执行20个SQL查询,这对于一个下拉控件来说太多了。Rails通过急切加载优化树结构代码
我想它收集到缓存 - 这样
@categories = Category.where('parent_id = ? AND id != ?', parent_id, current_id).order(:name)
@categories.each do |c| .....
然而,它运行相同的20 SQL查询,20缓存。
当我阅读急切的加载它通常是一个连接条件,我找不到任何单个模型的例子。可以通过加载/任何其他方式优化查询运行一次,并安排数组显示?TIA。
它运行尽可能多的选择查询,因为有类别记录,甚至在收集它们在一个哈希@categories它运行所有这些......奇怪!类别模型是:name:string,parent_id:integer(默认值= 0) – Means
您可以发布模型定义的要点吗? – MBHNYC