我想在我的应用程序上实现类似 twitter 的标签。
假设我有一个文本区域的用户输入“我要从 #paris 来到 #london”,然后我想构建主题标签的标签云。
我正在考虑使用作为可标记的行为。所以我从后端的文本中找到我所有的主题标签,然后将其保存到标签字段。
有人有这方面的经验愿意分享吗?谢谢。
我想在我的应用程序上实现类似 twitter 的标签。
假设我有一个文本区域的用户输入“我要从 #paris 来到 #london”,然后我想构建主题标签的标签云。
我正在考虑使用作为可标记的行为。所以我从后端的文本中找到我所有的主题标签,然后将其保存到标签字段。
有人有这方面的经验愿意分享吗?谢谢。
是的,ActsAsTaggableOn 应该没问题。正如@etang 所暗示的那样,它是一颗沉重的宝石,但它可以完成工作。如果您正在寻找一种从文本中提取标签的简单方法,您可能需要查看https://github.com/twitter/twitter-text-rb。它有一些不错的正则表达式,可以为您节省一些时间。
Twitter::Extractor.extract_hashtags("my #favorite #site is http://foo.com/home#boo")
这将返回“最喜欢的”和“站点”,而不是“嘘”(正如预期的那样)。
ActsAsTaggableOn
如果您不太担心缩放,应该可以正常工作。它通过 跟踪您的实际标签ActsAsTaggableOn::Tag
,并通过 跟踪与您的帖子的多对多关系ActsAsTaggableOn::Tagging
。它还使用多态关联,ActsAsTaggableOn::Tagging
因此您可以在不同的命名空间中进行标记。