Rails 3 - 处理来自几个表的数据
Posted
技术标签:
【中文标题】Rails 3 - 处理来自几个表的数据【英文标题】:Rails 3 - work with data from few tables 【发布时间】:2011-06-11 19:19:08 【问题描述】:我正在解决一个问题,如何在一个表中适当地打印第二个表中的项目。
在“TabA”中,我有 id: 1 2 3 4
在“TabB”中,我有 tab_a_id: 2 3 3 3 3 3 4
具体来说,我的情况是这样的:
as_controller
@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.tabb.size
【问题讨论】:
【参考方案1】:为什么不在 A 和 B 模型之间建立关联?这样,您可以这样做:a.b.count
。
您的方法的问题是您从数据库中请求所有行,Rails 用 AR 对象包装它们,将它们放入数组中,然后计算它的大小。另一方面,count
告诉数据库计算结果并仅返回一个数字,因此速度要快得多。
【讨论】:
以上是关于Rails 3 - 处理来自几个表的数据的主要内容,如果未能解决你的问题,请参考以下文章