2

我正在网站上创建一个“相关内容”区域,并使用acts-as-taggable-on gem 来执行此操作。然后在一篇文章中,它通过关键字匹配来提取相关内容。以下代码适用于 find_related_keywords (注意:将所有逻辑放在视图中以简化并使其暂时起作用,稍后将适当重构)

<% for related in @article.find_related_keywords.limit(5) %>
    # Markup for related item in here       
<% end %>

但是,这只会返回相同模型类型中的相关内容,在本例中为 Article。我还有其他模型/表格,例如评论、采访等,它们也定义了一个 :keywords 可标记字段,并且希望包含在 find_related_keywords 结果中的那些。有没有办法做到这一点?

4

2 回答 2

1

你有没有尝试过:

Review.tagged_with(@article.category_list, :any => true).limit(5)

Interview.tagged_with(@article.category_list, :any => true).limit(5)
于 2011-04-26T17:44:18.620 回答
0

在研究了 Acts as Taggable On 的工作原理之后——再加上缺乏响应——我得出的结论是,这样做是不可能的,而且它确实只适用于单一对象类型。

但是,我已经考虑过使用搜索引擎对我有利的另一种可能性。我的项目目前有 Sunspot/Solr,我现在正在考虑使用关键字字段自动搜索关键字,理论上,这应该可以很好地从任何已索引的对象/表中返回最后五个结果或其他内容通过索尔。

于 2011-04-14T20:06:04.647 回答