簡単な背景:他のページへの参照を含む文字列があります。ページは「#12」の形式を使用してリンクされています。ハッシュとそれに続くページのID。
次の文字列があるとします。
str = 'This string links to the pages #12 and #125'
リンクが必要なページのIDはすでに知っています。
page_ids = str.scan(/#(\d*)/).flatten
=> [12, 125]
ページIDをループして、#12と#125をそれぞれのページにリンクするにはどうすればよいですか?私が遭遇した問題は、私が次のことを(レールで)行うかどうかです:
page_ids.each do |id|
str = str.gsub(/##{id}/, link_to("##{id}", page_path(id))
end
これは#12で正常に機能しますが、#125の「12」の部分をIDが12のページにリンクします。
どんな助けでも素晴らしいでしょう。