9

Rails3.0.0.beta3とHaml3.0.0.rc.2を使用していますが、Hamlの構成行を配置する必要がある場所(さらに言えば、新しいバージョンの構成行)が見つかりません。 。Rails2.3.5とHaml2を使用して、

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

environment.rbで。または、シナトラでは、

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

私のメインファイルで。しかし、Rails 3ではすべてが変更されており、その構成行をどこに置いても、未定義のメソッドまたは未定義のオブジェクトエラーが発生します。

4

2 に答える 2

17

ファイルを作成します。

#{Rails.root}/config/initializers/haml.rb

hamlオプション付き:

Haml::Template.options[:attr_wrapper] = '"'
于 2010-11-24T10:40:52.633 に答える
8

Rails 3 の遅延読み込みの哲学に従って、HamlActionView::Baseは読み込まれると自分自身を初期化しますが、これは構成ファイルが解析されているときには起こらなかった可能性があります。Haml が読み込まれた後にコードを実行するには、コードをActiveSupport#on_loadブロックで実行する必要があります。例えば:

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

完全な Haml システムがロードされる前に、以前に定義するか、特別なハッシュHaml::Template.optionsを追加することによって、構成にアクセスできるようにする方法を検討しています。config.haml

于 2010-04-28T04:48:29.317 に答える