我正在用haml编写文本:
Blab bla for any questions contact us on me@foo.com.
所以haml看起来像
%p
Blab bla for any questions contact us on
= mail_to 'me@foo.com'
.
note.是ascii中的点,我也可以用= '.'
替换该行(渲染字符串点)
但渲染的文字看起来像
Blab bla for any questions contact us on me@foo.com .
区别在于最后点之前的空白
我想出的解决方案是
%p
Blab bla for any questions contact us on
= mail_to('me@foo.com') + '.'
这只是我在寻找最佳实践:) thx
答案 0 :(得分:10)
我会用这个:
%p
Blab bla for any questions contact us on #{mail_to('me@foo.com')}.
另见the Haml FAQ:
表达文档的结构并表达内联格式是两个非常不同的问题。 Haml主要是为结构而设计的,因此处理格式化的最佳方法是将其留给其他专为其设计的语言。
在这种情况下,您不需要其他语言,只需插入函数。
答案 1 :(得分:5)
如果您使用==
表示法,对于带有mail_to的行,您应该能够做到你想要的,喜欢这个:
== #{mail_to 'me@foo.com'}.
==
表示法对整行执行插值。
答案 2 :(得分:4)
HAML a bunch of helpers可以轻松解决此类问题。 succeed
解决了尾点问题。
= succeed '.' do
= link_to t('info.terms'), info_path(:terms)