要在嵌套DIV中测试CSS边框的内容,需要生成50个DIV。 换句话说,生成
<div>
<div>
<div>
... total 50 of them nested
</div>
</div>
</div>
,因为
- 50.times do
%div
不会这样做,因为它们都是平行的,而不是嵌套的。
答案 0 :(得分:4)
简单,但似乎有效。
- 50.times do
<div>
- 50.times do
</div>
v2 - 仍然过于简单,但提供了更多选择。
- 50.times do |i|
!= "<div style='border-style:#{cycle('dotted','dashed')}'>".rjust(i+35)
= i
- 50.downto(1) do |i|
!= "</div>".rjust(i+35)
答案 1 :(得分:1)
你可以试试这个:
module ApplicationHelper
def recursive_divs(number)
if number > 0
number -= 1
content_tag :div do
recursive_divs(number)
end
end
end
end
并在你的观点中使用它:
= recursive_divs(50)
希望这会有所帮助
答案 2 :(得分:0)
你很亲密。您所要做的就是为循环的每次迭代添加2个空格。
- 50.times do |i|
="#{' ' * (i*2)}"%div
' ' * (i*2)
部分正在利用字符串可以倍增的事实。