我正在解决一个问题,如何为一个表中的项目打印第二个表中相应的项目。
在"TabA"中,我有id:1.2.3.4
在"TabB"中,我有tab_a_id:2.3.3.3.3.3.4
具体来说,我的情况如下:
as_控制器
@info_a=TabA.all(:joins=>:bs,:conditions=>["city=?",0])
视图
<% for info in @a %>
<tr>
<td><%= info.id %></td>
<td><%= info.email %></td>
<td><%= HERE I WOULD LIKE TO PRINT COUNT ITEMS FROM TabB ('bs' controller, 'b' model) %></td>
</tr>
<% end %>
我正在努力寻找如何打印,例如,对于"TabA"中ID号为3的项目,"TabB"中的行数(在TabB中是值3的5倍)。
提前感谢!
编辑:解决方案-info.tab.size
为什么不在A和B模型之间建立关联?通过这种方式,您可以执行以下操作:a.b.count
。
您的方法的问题是,您从DB请求所有行,Rails用AR对象包裹它们,将它们放入数组中,然后计算其大小。另一方面,count
告诉DB计算结果,只返回一个数字,这样会更快。