【问题标题】:Tag whitespace differs between first and subsequent page loads第一个页面加载和后续页面加载之间的标签空白不同
【发布时间】:2012-09-18 05:51:31
【问题描述】:

我很难找到开始调试的点。基本上,我正在设置Shapado 的副本,这是一个相当普通的 Rails 3 应用程序,它有很多这样的 .html.haml 视图:

.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

错误地呈现为“由Jani6 询问”。

但在开发模式下,以及(更奇怪的是)我第二次及以后在生产模式下加载同一页面时,标签由换行符分隔:

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

由于换行符在 HTML 中是空格,现在可以正确呈现:“由 Jani6 询问”

我认为这与 Rails 3 资产流水线、缩小和/或缓存有关,但据我所知,配置 (see Gitorious) 实际上并没有流水线 Haml。通过 config/environments/development.rb 与 c/e/production.rb 的差异快速查看也没有显示任何明显相关的内容。帮忙?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 haml asset-pipeline minify


    【解决方案1】:

    输出不应在后续调用中改变。尝试使用 bundle update haml 更新 HAML。

    您可以在application.rbproduction.rb 中将“丑陋”模式强制为false

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-11
      • 2011-05-08
      • 2012-12-20
      • 2022-07-16
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多