在rails上实现类似twitter的hashtag

时间:2011-03-15 03:49:15

标签: ruby-on-rails twitter tagging hashtag

我想在我的应用上实现类似Twitter的标签。

假设我有一个文本区域的用户输入“我要从#paris转到#london”然后我想构建标签云的标签云。

我正在考虑使用act-as-taggable-on。所以我从后端的文本中找到所有的主题标签,然后将其保存到标记字段。

任何人都有这方面的经验,他们想分享?感谢。

3 个答案:

答案 0 :(得分:12)

是的,ActsAsTaggableOn应该没问题。正如@etang所提到的,它是一个沉重的宝石,但它完成了工作。如果您正在寻找一种从文本中提取标签的简单方法,您可能需要查看https://github.com/twitter/twitter-text-rb。它有一些很好的正则表达式,可以节省你一些时间。

Twitter::Extractor.extract_hashtags("my #favorite #site is http://foo.com/home#boo")

这将返回“最爱”和“网站”,但不会“返回”(正如预期的那样)。

答案 1 :(得分:3)

对于后来者......

我为此准备了一个简单的宝石:
https://github.com/ralovely/simple_hashtag

如果您愿意,可以提供反馈或做出贡献。

答案 2 :(得分:1)

如果您不太担心缩放,

ActsAsTaggableOn应该可以正常工作。它会ActsAsTaggableOn::Tag跟踪您的实际代码,并通过ActsAsTaggableOn::Tagging跟踪您帖子的多对多关系。它还在ActsAsTaggableOn::Tagging中使用多态关联,因此您可以在不同的命名空间中进行标记。