我正在尝试在RoR上使用haml。
我在haml中遇到了一些问题。
我的示例代码如下。
ERB:
<p> <div class="hello"> <%= @sample.val %> <%= @hogehoge.val %> </div> </p>
HAML:
%p
.hello
= @sample.val
= @hogehoge.val
我可以在erb文件中写一行。
但是,我必须以haml编写4行。
Haml是如此聪明美观的syntacx结构,不是吗?但我认为写这么多行并不聪明。
在这种情况下,我如何用haml写一行。
答案 0 :(得分:3)
如果你不喜欢haml的工作方式,你为什么要使用它? haml是如何运作的。如果你想要不同的东西,你需要不同的东西,有更多的模板语言。
你抱怨线的数量,但想想字符的数量和可读性,可维护性。对你的代码来说,amout of line是不太重要的东西之一,或者当你使用erb或plain html时,你是否将所有的html代码写在一行中?
你可以通过以下方式保存几行:
%p
.hello= "#{@sample.val} #{@hogehoge.val}"
但这真的很重要吗?那么,现在你有2行而不是1行,它是&#34; smart&#34;足够?我不认为你可以使用haml在一行中拥有它。
答案 1 :(得分:0)
但是,我必须以haml编写4行。
是的,但是你已经保存了很多字符,如果没有正确嵌套,现在会出现编译时错误。不要专注于使用的线条,而是清晰度。
我认为你可以这样做:
%p %div.hello
= @sample.val + " " + @hogehoge.val
答案 2 :(得分:0)
.hello
= @sample.val
= @hogehoge.val
如果您使用<p>
进行样式设置,最好在margin
css
.hello
属性
你错过了haml
的重点 - 它比erb