OK, после того, как много плач и скрежет зубов вот решение Я кулак с. Сначала я использую mustache. Это намного безопаснее, чем сохранение erb в шаблонах и предотвращает вредоносную инъекцию sql в ваше приложение. Я просто добавил «усы» в свой gemfile, а не в усы-рельсы, поскольку он кажется более современным. Затем я создал простую модель страницы с двумя атрибутами:: name и: content. Я использую модель страницы для хранения исходного кода усы.
Вот соответствующие файлы ...
В моем контроллере я зову ...
#app/controllers/registrations_controller.rb
def create
@registration = Registration.new(params[:registration])
respond_to do |format|
if @registration.save
if @registration.orientation != nil
format.html { render "scheduling_text.html.erb" }
Тогда мой взгляд выглядит ...
#app/views/registrations/scheduling_text.html.erb
<%= Mustache.render(Page.find_by_name("New Registration").content, {:registration => @registration }).html_safe %>
<%= link_to 'Back', orientations_path %>
...
Тогда в моей странице модель У меня есть что-то вроде ...
Вы успешно зарегистрированы для New Stud ent Orientation на {{registration.orientation.class_date}} в {{registration.orientation.class_time}}. Приходите за 10 минут до запланированной ориентации. Помните, что вы должны присутствовать на этой сессии Ориентации, прежде чем сможете зарегистрироваться для занятий.
...
Использование модели страницы с помощью таких лесов хорошо работает, потому что оно дает вам новые, обновляемые и создаваемые действия, которые позволят пользователям редактировать контент. Обратите внимание: они могут легко испортить ваши рубиновые переменные, так что это недостаток. Просто сообщите своим пользователям, чтобы они не писали что-либо между {{}}.
Надеюсь, что это поможет кому-то еще.
hmm ... Я получаю ошибку undefined method 'empty? ' для # –
Lumbee
Я обновил ответ, чтобы отразить вызов .run (вы также можете попробовать .result вместо .run). Это должно обработать код ERB и вернуть результат, который, как я думаю, вам нужен. – Donovan
ОК, это лучше, но теперь я получаю неопределенный метод «ориентация» для nil: NilClass. Таким образом, похоже, что это не обман с регистрацией. Однако, простой код в моем файле erb работает ??? – Lumbee