2011-01-13 56 views
2

我试图给我的rails应用程序添加标签 - 我宁愿不使用插件/ gem。Rails 3中标记系统的好方法?

我的需求是相当简单:

用户可以将多个标签添加到单个项目,他们可以搜索这些标签的物品,他们可以看到一个网页,其中列出了他们以前使用过的所有标签。

我想知道的是,最好的方法是什么?模型中的数组/散列被标记?一个连接表?

任何建议将不胜感激。

回答

6

我会使用标签和taggableItems之间的连接表。然后用一个before_create,你可以检查标签是否已经在系统中,如果它们不在系统中,就创建它们。接下来,您可以使用searchlogic(我认为github上有一个rails 3分支)以便于标记/ taggableItems搜索。如果给用户一些自动完成或者使用最多的标签的简短列表,给用户一些反馈信息是很好的,但这取决于你/设计。

+0

谢谢,这听起来不错! – Elliot 2011-01-13 21:00:16