Hak*_*ari 5 haml ruby-on-rails
假设我有一个带有视图助手方法的东西资源,例如:
module ThingsHelper
def foo
ret = ""
3.times { ret += content_tag(:li, "foo") }
content_tag(:ul, ret)
end
end
Run Code Online (Sandbox Code Playgroud)
然后,在模板中使用它:
%p
= foo
Run Code Online (Sandbox Code Playgroud)
生成的HTML源代码如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Foo</title>
</head>
</html>
<body>
<p>
<ul><li>foo</li><li>foo</li><li>foo</li></ul>
</p>
</body>
Run Code Online (Sandbox Code Playgroud)
如您所见,辅助输出不会缩进为其余代码.有什么方法可以解决这个问题?
Nat*_*aum 10
试试Haml提供的haml_tag
辅助方法.它content_tag
在某些方面,但它输出正确的缩进HTML.主要区别在于它直接输出到模板,而不是返回一个字符串.例如:
module ThingsHelper
def foo
haml_tag :ul do
3.times { haml_tag(:li, "foo") }
end
end
end
Run Code Online (Sandbox Code Playgroud)
(作为旁注,使用除两个空格之外的其他东西进行缩进被认为是非常糟糕的Ruby风格).
归档时间: |
|
查看次数: |
2132 次 |
最近记录: |