0

所以在另一个控制器中,我使用这样的查找:

@entries = Entry.find(:all, :conditions => ['live = ?', false])

查找所有带有错误“实时”列的条目。

在我的项目中,我使用了两种不同的可标记类型,一种用于条目(Entry),一种用于消息(Message)。在查看了我上面经过验证的真实代码之后,您会认为我可以做类似的事情来在 taggings 表的 taggable_type 列中找到所有带有“Message”值的标记消息。

#this could help find only Messages with the taggable_type column value "Message"
@tagged_messages = Message.find(:all, :conditions => ['taggable_type = Message', true])

这里的问题是我的查找条件解决了消息模型 [Message.find(...] 这将不起作用,因为 [据我了解] 标记表没有关联的模型。我可能错了。所以如何搜索与模型无关的表?我可能在这里完全遗漏了一些东西。我将非常感谢任何有助于我理解这一点或帮助使其工作的帮助或代码。感谢您阅读我的问题。

4

1 回答 1

1

@tagged_messages = Tagging.find_all_by_taggable_type('Message').map(&:taggable)应该做你想做的。您可能还需要uniq在某个地方扔一个。

于 2010-05-27T16:56:34.747 回答