2013-03-06 17 views
1

例如,给定一个Book对象,其中有几个Tags与之关联。我知道我可以很容易地检索一本书的所有标签,但我怎样才能检索所有书籍的标签。就像一堆标签,但只包括藏书中的标签,而不是全部标签。Rails通过集合检索相关数据

回答

2

获取与书籍集合中的id匹配的book_id的标签。

Tag.where(:book_id => book_collection.map(&:id)) 
+0

不错,但从建筑的角度来看,这将是最好的地方来检索这些数据?假设我正在检索索引中的书籍,最好创建一个已经携带标签的新实例变量? – 2013-03-06 16:57:42

+0

@CarlosPereira:我不确定你在问什么 - 你可以在你的问题中发表一些代码来澄清你正在尝试做什么? – PinnyM 2013-03-06 17:01:04

+0

我有一个图书索引视图OK,简单地列出书:

    <%=渲染@书籍%>
在我想同样的看法显示这些书籍的标签云,在书籍的控制器/模型中恢复。 我的问题是,实现您建议的例程的最佳位置是控制器的索引方法,创建一个新变量@tags并在视图中使用它,或者应该在标记模型中创建特定的方法,例如,关系标记作为参数收到的一组书籍。 – 2013-03-06 17:10:36