问题
I'm want to implement twitter-like hashtag on my app.
Let's say I have user input to a text area "I'm coming to #london from #paris" then I want to build tag cloud of the hashtags.
I'm thinking of using acts-as-taggable-on. So I find all of my hashtags from the text in the backend, then save it to tag field.
Anyone has experience on this they would like to share? Thanks.
回答1:
Yes, ActsAsTaggableOn should be fine. As @etang alluded to, it's a heavy gem, but it gets the job done. If you're looking for a simple way to extract tags from text, you may want to look at https://github.com/twitter/twitter-text-rb. It has some nice regexps that may save you some time.
Twitter::Extractor.extract_hashtags("my #favorite #site is http://foo.com/home#boo")
That would return "favorite" and "site" but not "boo" (as would be expected).
回答2:
For late-comers…
I have written a simple gem for precisely for this:
https://github.com/ralovely/simple_hashtag
Give feedback or contribute if you feel like it.
回答3:
ActsAsTaggableOn
should work fine if you are not too worried about scaling. It keeps track of your actual tags by ActsAsTaggableOn::Tag
, and keeps track of the many-to-many relationship to your posts by ActsAsTaggableOn::Tagging
. It also uses polymorphic association in ActsAsTaggableOn::Tagging
so you can tag in different namespaces.
来源:https://stackoverflow.com/questions/5307331/implementing-twitter-like-hashtag-on-rails