【问题标题】:Haml render different HTML in two different stagesHaml 在两个不同的阶段渲染不同的 HTML
【发布时间】:2014-02-12 22:17:26
【问题描述】:

我的应用有问题。

两个阶段,相同的应用程序,相同的部署配方,当然还有相同的 gem。

在我的暂存环境中一切正常,在我的生产环境中,HTML 略有不同,这给我带来了一些渲染问题。

示例。

分期

<a class="btn red" href="/admin/contents/new?type=News" title="News">News
<i class='fa fa-plus'></i>
</a>
<a class="btn blue" href="/admin/contents/new?type=Article" title="Article">Articolo

生产

<a class="btn red" href="/admin/contents/new?type=News" title="News">News
<i class='fa fa-plus'></i>
</a><a class="btn blue" href="/admin/contents/new?type=Article" title="Article">Articolo

差异很小,但问题是在我的生产环境中,我失去了按钮之间的所有空间。

生成这个按钮的代码很简单:

.col-md-3
  = link_to new_admin_content_path(type: 'News'), class: "btn red", title: "News" do
    News
    %i.fa.fa-plus
  = link_to new_admin_content_path(type: 'Article'), class: "btn blue", title: "Article" do
    Articolo
    %i.fa.fa-plus

什么问题???

【问题讨论】:

  • 您需要包含正确的 Haml 源 - 您所拥有的内容会出错。确保缩进正确。
  • 是的...所写的 haml 不会产生您向我们展示的任何 HTML 输出。缩进错误。
  • 必要的“做”。 look here

标签: ruby-on-rails haml


【解决方案1】:

以下是 haml 常见问题的摘录:

为什么我的标记在开发模式下正确缩进,但在生产模式下却没有?

为了提高性能,Haml 在生产中运行的 Rails 应用程序中默认使用 {Haml::Options#ugly "ugly" 模式}。

链接到FAQ 本身。要解决此问题,您需要为 Haml 提供不同的选项。所以,你基本上需要用正确的设置实现一个初始化器:

# config/initializers/haml.rb
Haml::Template.options[:ugly] = false
Haml::Template.options[:remove_whitespace] = false

这是link to other examples

可以在here找到可用选项列表。

【讨论】:

  • 我编辑了缩进。 HAML 正在工作。问题是 标签后的新行
  • 您使用空格还是制表符?您确定您的文件中没有混合的意图吗?
  • Here 是要点......所有空格。顺便说一句,在我的登台服务器上一切正常!!!
  • W00t?!问题就这么消失了吗?
  • @RobertoPezzali 我认为这实际上是 Haml 中的一个错误——您应该能够在生产中使用丑陋模式。我在github.com/haml/haml/issues/748 上打开了一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-26
  • 2017-04-17
  • 1970-01-01
  • 2018-08-25
  • 2019-04-15
  • 1970-01-01
  • 2011-04-12
相关资源
最近更新 更多