2009-09-20 30 views
0

這是我的代碼。我與空間有問題。我不能得到適當的代if else error

- 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}" 

生成,這是

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

但我想一個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> 

。每日入境

應包括在條件

如果條件

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

如果條件

<div class='entry'> 
<h1> 
    <a href="/items/15">xcvxcvx</a> 
</h1> 
</div> 

回答

1

看起來你不得不重複條目作爲第一切口:

-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}" 

應該有成爲一種獲得重複的方法,但我不能認爲它應該是什麼 - 一個幫助函數,需要一個塊,p robably。

+0

這不是一個乾淨的解決方案:(這是一個限制的軌道哈姆寶石? – aaalsubaie 2012-05-09 09:21:50

2

只需推動if.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}"