Я пытаюсь создать представление с ссылкой для загрузки, чтобы загрузить источник html?
Рельсы; сохранить отображаемое содержимое html представления в файл
Ответ 1
Решение@Peter работало для меня. Вот пример кода:
Вид: <%= link_to 'download this page', object_path(@object, :download => true) %>
Контроллер:
def show # ... if params[:download] send_data(render_to_string, :filename => "object.html", :type => "text/html") else # render normally end end
Ответ 2
Вы можете использовать render_to_string
вместо рендеринга, который предоставит вам страницу, а затем для ее загрузки используйте send_data
.
Подробнее о том, как сделать здесь строку, и больше на send_data
здесь.