سؤال

هذا هو رمز بلدي. لدي مشكلة مع المساحات. وبعد لا أستطيع الحصول على الجيل الصحيح

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

لكنني أريد أتش تي أم أل

<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>
هل كانت مفيدة؟

المحلول

يبدو أن عليك تكرار الإدخال كقطع أول:

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

يجب أن تكون هناك طريقة للحصول على هذا الازدواجية، لكنني لا أستطيع التفكير في ما يجب أن يكون - وظيفة المساعد التي تأخذ كتلة، ربما.

نصائح أخرى

فقط حرك 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}"

لا تريد

if !@lastday.nil?

بدلا من

if @lastday.nil?
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top