快速背景:我有一个包含对其他页面的引用的字符串。这些页面使用以下格式链接:“#12”。后跟页面 ID 的哈希值。
假设我有以下字符串:
str = 'This string links to the pages #12 and #125'
我已经知道需要链接的页面的 ID:
page_ids = str.scan(/#(\d*)/).flatten
=> [12, 125]
如何遍历页面 ID 并将 #12 和 #125 链接到各自的页面?我遇到的问题是如果我执行以下操作(在 rails 中):
page_ids.each do |id|
str = str.gsub(/##{id}/, link_to("##{id}", page_path(id))
end
这适用于#12,但它将#125 的“12”部分链接到 ID 为 12 的页面。
任何帮助都是极好的。