Используя направляющие 3 и Haml 3, как я настраиваю Haml?

Я использую направляющие 3.0.0.beta3 и Haml 3.0.0.rc.2, и я не могу найти, куда я должен поместить строки конфигурации для Haml (ни что они находятся в новой версии, в этом отношении). Используя направляющие 2.3.5 и Haml 2, я сделал бы

Haml::Template.options[:format] = :html5

в environment.rb. Или, в Sinatra,

set :haml, {:format => :html5}

в моем основном файле. Но в направляющих 3 все переехалось, и неважно куда я поместил ту строку конфигурации, я получаю неопределенный метод или неопределенную объектную ошибку.

9
задан dpogg1 28 April 2010 в 03:43
поделиться

1 ответ

В соответствии с философией ленивой загрузки Rails 3, Haml инициализируется только после загрузки ActionView :: Base , что может не иметь произошло во время анализа файла конфигурации. Чтобы запустить код после загрузки Haml, вам нужно запустить его в блоке ActiveSupport # on_load . Например:

ActiveSupport.on_load(:action_vew) do
  Haml::Template.options[:format] = :html5
end

Я рассматриваю способы сделать конфигурацию доступной до того, как будет загружена полная система Haml, либо указав ранее Haml :: Template.options , либо добавив специальную конфигурацию . haml хеш.

8
ответ дан 4 December 2019 в 08:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: