好的,我正在創建一個應該在用戶帖子中查找標籤#
,@
或$
的寶石。我在聲明中使用了一個案例,它似乎有效,只是有時候。例如,我將有一個像@you
這樣的字符串,並且可以工作,但是#cool
不起作用,除非我添加#cool @you
。看來其他的when
聲明僅在第一個when
聲明爲真時才起作用。 REGEX就是這樣,它知道要尋找什麼,我知道那些工作。`Case/when`語句在某些時候有效
REGEXS = [Supertag::Tag::USERTAG_REGEX, Supertag::Tag::HASHTAG_REGEX, Supertag::Tag::MONEYTAG_REGEX]
def linkify_tags(taggable_content)
text = taggable_content.to_s
REGEXS.each do
case text
when text = text.gsub(Supertag::Tag::USERTAG_REGEX) {link_to($&, usertag_path($2), class: 'tag')}
when text = text.gsub(Supertag::Tag::HASHTAG_REGEX) {link_to($&, hashtag_path($2), class: 'tag')}
when text = text.gsub(Supertag::Tag::MONEYTAG_REGEX) {link_to($&, moneytag_path($2), class: 'tag')}
end
end
text.html_safe
end
老實說,不知道爲什麼這是越來越downvoted ... – Eugene
我不明白爲什麼它要麼。本網站的重點不在於幫助人們嗎? –