Мой текущий проект требует, чтобы я собрал файл .zip, содержащий HTML и текстовые шаблоны, чтобы пользователь мог их загрузить и импортировать в программу электронного маркетинга.

Я унаследовал этот проект, и в настоящее время в коде используется «поддельная» модель (то есть модель, которая напрямую не коррелирует с таблицей базы данных), в которой весь шаблон хранится в строке, используя динамические переменные для заполнения определенных области. Затем у «фальшивой» модели есть метод для создания zip-файла.

Мне кажется, что должен быть лучший способ сделать это. Мне было интересно, есть ли способ переместить шаблон в файл .erb / haml, а затем написать метод, который будет заполнять файл при подготовке к архивированию? В принципе, есть ли способ визуализировать HTML и текстовый файл, не отображая их на самом деле?

Спасибо за любую помощь.

0
Kevin Whitaker 5 Май 2010 в 22:51
"фальшивая" модель или контроллер? Обычно за рендеринг отвечает контроллер, а не модель.
 – 
jigfox
5 Май 2010 в 23:16
Это класс, расположенный в папке моделей, но не связанный с объектом базы данных. Вместо этого он требует, чтобы идентификатор реальной модели передавался ей при вызове класса.
 – 
Kevin Whitaker
5 Май 2010 в 23:43

2 ответа

Лучший ответ

Просто напишите действие и представление, чтобы отобразить html и текст как обычно, затем используйте метод render_to_string для назначения содержимого строкам.

http://apidock.com/rails/ActionController/Base/render_to_string

Затем вы можете запустить метод модели (надеюсь, метод класса), чтобы создать zip-файл, используя содержимое, которое у вас теперь есть в переменных экземпляра.

1
concept47 6 Май 2010 в 09:26

Ознакомьтесь с плагином ячеек.

0
Mr. Ronald 5 Май 2010 в 23:59