Rails: хранение шаблонов erb в базе данных - PullRequest
6 голосов
/ 18 апреля 2010

Можно ли хранить шаблоны erb в базе данных? Как?

Ответы [ 3 ]

6 голосов
/ 18 апреля 2010

Конечно, это так.

Но я думаю, что это не лучшее решение, если вам нужны только страницы с одинаковым макетом и другим содержанием.

Если вы действительно хотите, чтобы ERB сохранялись в базе данных, создайте модель с сохраненными в ней ERB. Затем вы можете вызвать такой код контроллера, как этот, чтобы отобразить этот ERB.

erb = ERB_model.find(...)
@some_model_data = SomeModel.find(...)
erb = ERB.new(erb.source)
render :text => erb.result, :layout => true (or another)

Часы ERB.new параметры.

3 голосов
/ 26 марта 2013

Я нашел лучший способ:

def show
  @modal_popup = ModalPopup.find(params[:id])
  # erb = ERB.new(@modal_popup.content)
  # render :text => erb.result, :layout => false
  render :inline => @modal_popup.content, :layout => false
end

Я использую это действие внутри iframe или визуализирую действие из других представлений.

2 голосов
/ 18 апреля 2010

Я также работаю над почти той же концепцией, над которой вы работаете. Мне также нужны мои клиенты для создания собственных веб-сайтов

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

и в основном у меня были проблемы с сохранением файлов layout.erb в базе данных

поэтому я решил пойти так, чтобы страница создавалась на поддомене

ура, Самера

...