如何制作一个简单的点“.”在 HAML 中?

问题描述 投票:0回答:4

在我的 Ruby on Rails 项目中,我使用 HAML,我需要翻译这样的内容

<div>foo <a>bar</a>.<div>

进入 HAML。它应该看起来像:

.divclass
  foo
  %a bar
  .     

开始时的句点不起作用,因为它被 HAML 使用。那么如何使用句点作为内容呢?

即使在其周围建立一个跨度不起作用,这个时期也被视为特殊的东西。

我认为有一个逃生机制,但我找不到它。

ruby-on-rails haml
4个回答
39
投票

\

转义

像这样

\.

请参阅 HAML 参考中的 转义 \

更新: 如果您需要在句子末尾加一个点(以防止不必要的空格),则使用 HAML 的

succeed
(如这个答案)是更好的解决方案。


21
投票

最近的报告称这可能不适用于较新版本的 HAML,但是......

更好的方法:

%p
  This sentence ends with a link which is *just* before a period
  = succeed "." do
    %a{:href => "#"} link
  But the period wasn't included with the link and there was no space before the period.

3
投票

我将使用 Rails 的内置

link_to
帮助器添加另一个选项,而不是手动创建链接。然后你就可以简单地做

%p
  This sentence ends with a link which is *just* before a period
  #{ link_to "link", "#" }.

不同的解决方案将在不同的地方起作用,但我发现这非常干净,特别是如果已经使用

link_to
mail_to
等。


2
投票

您还可以访问 :plain 过滤器,如下所示:

%p 
  :plain
    .
© www.soinside.com 2019 - 2024. All rights reserved.