Quick Hintergrund: Ich habe eine Zeichenfolge, die Verweise auf andere Seiten enthält. Die Seiten sind mit dem Format "# 12" verknüpft. Ein Hash gefolgt von der ID der Seite.Ruby, Gsub und Regex
sagen, dass ich die folgende Zeichenfolge haben:
str = 'This string links to the pages #12 and #125'
Ich weiß schon, die IDs der Seiten, die brauchen Verknüpfung:
page_ids = str.scan(/#(\d*)/).flatten
=> [12, 125]
Wie kann ich eine Schleife durch die Seite-IDs und verknüpfen Sie die # 12 und # 125 zu ihren jeweiligen Seiten? Das Problem, das ich habe laufe in ist, wenn ich die folgende (in Schienen):
page_ids.each do |id|
str = str.gsub(/##{id}/, link_to("##{id}", page_path(id))
end
Dies funktioniert gut für # 12, aber es verbindet den „12“ Teil # 125 auf der Seite mit der ID von 12.
Jede Hilfe wäre genial.
verwenden können. Ich wusste nicht über \ b. Sie, mein Herr, sind ein Lebensretter. –