背景:私は他のページへの参照を含む文字列を持っています。ページは "#12"の形式でリンクされています。ハッシュの後にページのIDが続きます。Ruby、gsub、regex
は、私は次の文字列を持っていると言う:
str = 'This string links to the pages #12 and #125'
私はすでにリンク必要なページのIDを知っている:
page_ids = str.scan(/#(\d*)/).flatten
=> [12, 125]
どのページIDによるIループすることができますし、#をリンク12と#125をそれぞれのページに追加しますか?私は(レールに)以下ならば、私はに実行した問題は次のとおりです。
page_ids.each do |id|
str = str.gsub(/##{id}/, link_to("##{id}", page_path(id))
end
これは、#12のために正常に動作しますが、それは12のIDとページに#125の「12」の部分をリンクします。
ご協力いただければ幸いです。あなたのインデックスは常にワード境界で終了した場合
マーベラスを使用することができます。私は\ bについて知りませんでした。あなた、救命救助者です。 –