0

これのデバッグを開始するポイントを見つけることさえ困難です。基本的には、次のような .html.haml ビューを多数持つごく普通の Rails 3 アプリであるShapadoのコピーをセットアップしています。

.author
  %span
    = I18n.t('global.by_semi')
  = render :partial => "users/user_mini" ...

本番モードで自分のサイトにページを初めてロードすると、出力内のすべてのタグが一緒にクランチされます。

<div class="author"><small><span>Asked by</span><a href="/users/jpatokal"
data-layout="user" rel="author">Jani</a>6

これは、「 Jani 6からの質問」として誤ってレンダリングされます。

しかし、開発モードでは、(さらに奇妙なことに) 2 回目以降に同じページをプロダクション モードでロードすると、タグは改行で区切られます。

<div class="author">
<small>
<span>
Asked by
</span>
<a href="/users/jpatokal" data-layout="user" rel="author">Jani</a>
6

また、改行は HTML のスペースであるため、これは正しくレンダリングされるようになりました: "Asked by Jani 6"

これは、Rails 3 アセットのパイプライン化、縮小化、および/またはキャッシングと関係があると思いますが、構成を理解できる限り ( Gitorious を参照)、実際には Haml をパイプライン化していません。config/environments/development.rb と c/e/production.rb の差分をざっと見ても、明らかに関連するものは何も明らかになりません。ヘルプ?

4

1 に答える 1

1

出力は、後続の呼び出しで変更されるべきではありません。で HAML を更新してみてくださいbundle update haml

またはで「醜い」モードを強制できfalseます。application.rbproduction.rb

Haml::Template.options[:ugly] = false

http://haml.info/docs/yardoc/file.HAML_REFERENCE.html#options

于 2012-09-20T06:40:21.793 に答える