Pergunta
Este é o meu código. Eu tenho um problema com espaços . Eu não posso começar a geração adequada
- if @lastday.nil? && @lastday != item.created_at.strftime("%d %b %Y")
.daily-entry
%h1.date
=h item.created_at.strftime("%d")
%span
=h item.created_at.strftime("%b, %Y")
-else
.entry
%h1
= link_to item.title, "/items/#{item.id}"
gera este é
<div class='daily-entry'>
<h1 class='date'>
20
<span>
Sep, 2009
</span>
</h1>
</div>
<div class='entry'>
<h1>
<a href="/items/15">xcvxcvx</a>
</h1>
</div>
Mas eu quero uma HTML
<div class='daily-entry'>
<h1 class='date'>
20
<span>
Sep, 2009
</span>
</h1>
<div class='entry'>
<h1>
<a href="/items/15">xcvxcvx</a>
</h1>
</div>
</div>
.daily-entrada
devem ser incluídos na condição
Se a condição true
<div class='daily-entry'>
<h1 class='date'>
20
<span>
Sep, 2009
</span>
</h1>
<div class='entry'>
<h1>
<a href="/items/15">xcvxcvx</a>
</h1>
</div>
</div>
Se a condição false
<div class='entry'>
<h1>
<a href="/items/15">xcvxcvx</a>
</h1>
</div>
Solução
Parece que você vai ter que duplicar a entrada como um primeiro corte:
-if @lastday.nil? && @lastday != item.created_at.strftime("%d %b %Y")
.daily-entry
%h1.date
=item.created_at.strftime("%d")
%span= item.created_at.strftime("%b, %Y")
.entry
%h1= link_to item.title, "/items/#{item.id}"
-else
.entry
%h1= link_to item.title, "/items/#{item.id}"
Deve haver uma maneira de obter aound que a duplicação, mas eu não posso pensar o que deveria ser -. Uma função auxiliar que leva um bloco, provavelmente
Outras dicas
Basta mover o if
dentro do .daily-entry
:
.daily-entry
- if @lastday.nil? && @lastday != item.created_at.strftime("%d %b %Y")
%h1.date
=h item.created_at.strftime("%d")
%span
=h item.created_at.strftime("%b, %Y")
-else
.entry
%h1
= link_to item.title, "/items/#{item.id}"
Você não quer
if !@lastday.nil?
em vez de
if @lastday.nil?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow