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>
Foi útil?

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
scroll top