我想創建一個方法在我的標籤幫助器方法類中,當有人發帖時將「#hashtags」,「@usertags」和「$ moneytags」變成鏈接。它應該找到這些標籤中的每一個,並將整個單詞變成一個鏈接。我知道它沒有||
,但我需要它做,如果他們中的任何一個是真的。需要幫助鏈接標籤,但我想要多個標籤
現在它標籤usertags,但不是其他標籤。我知道REGEX是正確的,但是,我認爲||
ORs應該是這樣工作的。
有沒有一種更有效的方法在一種方法中搜索這些方法?如果我使用了三種方法,每種標籤一種,我會有三個重複的帖子,因爲我的方法讀取帖子並將標籤作爲鏈接吐出整個帖子。
這是最初的三種方法,但由於這個問題,我必須在同一個方法中使用它。它應該是twitter和其他使用標籤的網站如何做到的。
我可能也應該說我創造這個作爲任何人都可以使用的寶石。任何建議或幫助?
def linkify_tags(taggable_content)
regex = Supertag::Tag::USERTAG_REGEX
tagged_content = taggable_content.to_s.gsub(regex) do
link_to($&, tag_path($2), {class: :tag})
end
tagged_content.html_safe ||
regex = Supertag::Tag::HASHTAG_REGEX
tagged_content = taggable_content.to_s.gsub(regex) do
link_to($&, tag_path($2), {class: :tag})
end
tagged_content.html_safe ||
regex = Supertag::Tag::MONEYTAG_REGEX
tagged_content = taggable_content.to_s.gsub(regex) do
link_to($&, tag_path($2), {class: :tag})
end
tagged_content.html_safe
end
使用標籤的提示:使用擁有追隨者的提示。例如,[tag:ruby-on-rails]比[tag:ruby-on-rails-4]有更多的人在觀看,而[tag:helpers]和[tag:#hashtag]基本上毫無價值。 –
我認爲是這樣,但我只是放入5,因爲它允許我使用5個標籤。 –