LINUX.ORG.RU

RoR Конечная обработка вывода.

 


0

1

На RoR есть какая нибудь переменная в которую собирается весь html и которую можно обработать непосредственно перед отправкой браузеру? Например заменить все телефоны и эмейл адреса на картинки. Или какие есть варианты решеия подобной задачи на RoR?

★★★★★

Последнее исправление: CYB3R (всего исправлений: 1)

Ответ на: комментарий от anonymous

Пропустил, что это forms, думал ссылка на абстрактные helpers. Ну ты понял.

anonymous
()

Задай after_filter:

class MyController < ApplicationController
  after_filter :process_html

  def index
  end

  private
  def process_html
    html = response.body
    # Здесь обрабатываешь html, например:
    # html.gsub! /foo/, 'bar'
    response.body = html
  end
end

Еще можно попробовать написать Rack Middleware.

theNamelessOne ★★★★★
()
Последнее исправление: theNamelessOne (всего исправлений: 1)
Ответ на: комментарий от theNamelessOne

И да, модифицировать response.body напрямую нельзя: судя по всему, этот метод возвращает копию строки, т.к. object_id для каждого вызова body разный.

theNamelessOne ★★★★★
()
Последнее исправление: theNamelessOne (всего исправлений: 1)
Ответ на: комментарий от theNamelessOne

То что нужно, спасибо.

TDrive ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.