Я наконец-то решил свою проблему полностью вне рельсов, используя wget, с опцией -k, которая преобразует все относительные ссылки в абсолютные ссылки.На моем контроллере это выглядит следующим образом:
def action_with_relative_links
end
def action_with_absolute_links
render :text => convert_to_absolute_links(:action_with_relative_links)
end
def convert_to_absolute_links(action_param)
`wget -q -k -O/tmp/absolute_links.html #{url_for :action => action_param}`
`cat /tmp/absolute_links.txt`
end
В этом коде есть еще одна небольшая вещь, которую нужно исправить: проблема, которая может возникнуть при высоком параллелизме из-за использования временного файла файловой системы.
Хотелось бы, чтобы был способ избежать этого взлома и делать все в рельсах, но я очень доволен результатом, и это позволяет мне сохранить все мои представления и файлы макетов без изменений.
Надеюсь, это кому-нибудь поможет!