2013-10-17 9 views
5

Leider Attribut zu verknüpfensimple_hashtag gem Verwendung zu Hashtags in Modell 'Körper' für den vagen Titel

Ich bin Schienen 4 und dem simple_hashtag gem (https://github.com/ralovely/simple_hashtag) verwenden. Ich habe es gut funktioniert, aber ich möchte ein wenig weiter gehen. Gerade jetzt meine Post-Modell hat eine Beschreibung Attribut und wenn ein Benutzer ein Wort mit einem Hashtag (#) vorangeht, dann ist das Post hat Hashtags und Sie können ihnen zeigen, mit

@post.hashtags.each do |hashtag| 
    link_to hashtag.name, path_to_hashtag(hashtag.name) 
end 

diese Hashtags dann Links werden, so dass Sie suchen alle Posts mit dem angegebenen Hashtag. Wenn Sie die Beschreibung des Posts anzeigen, wird sie leider mit den darin enthaltenen Hashtags als einfacher Text und nicht als Links angezeigt. Ich würde eher die Hashtags der Post-Beschreibungen in Links verwandeln (Twitter tut das). Weiß jemand, wie ich das tun kann?

Antwort

3

Sieht so aus, als hätte ich den Generator nicht gestartet, um die Ansichten zu bekommen. Mit diesem Generator erhalten Sie die Hashtag-Hilfedatei, die diese Methode enthält.

def linkify_hashtags(hashtaggable_content) 
    regex = SimpleHashtag::Hashtag::HASHTAG_REGEX 
    hashtagged_content = hashtaggable_content.to_s.gsub(regex) do 
    link_to($&, hashtag_path($2), {class: :hashtag}) 
    end 
    hashtagged_content.html_safe 
end 

Das ist die Methode, mit der die Hashtags in Links umgewandelt werden.