Haml

2012-04-15 20 views
6

yılında deyimi bu haml varsa ben bir satır içi Nasılsınız bir koşul örneğin gibi karşılandığı takdirde ı i ama hissediyorum bunu yapabilirsiniz biliyorum bu masada hiçbiri görüntülerim nasılHaml

%table.form_upper{:style => "display:none;", :id => 'profile-info'} 
    %tr{:id => 'some-row'} 

Eğer st ayırmak çünkü

%table.form_upper{:style => "display:#{condition ? 'none' : ''};", :id => 'profile-info'} 

cevap

13

yapmanın bir satır içi yolu olmalı var Haml yılında

: mantıktan yle nedenle daha fazla kontrol ettik

%table.form_upper{:class => "#{condition ? '' : 'nonvisible_fupper'};", :id => 'profile-info'} 
    %tr{:id => 'some-row'} 

ve CSS dosyasındaki

:

.nonvisible_fupper { display:none; } 
+1

Ya da: '% table.form_upper # profil-info (ekran = "# {: yok koşulu ise}")' – Phrogz

1

Bu şekilde daha iyidir: Bunu yapabilirsin bu

-if condtion 
    %table.form_upper{:id => 'profile-info'} 
-else 
    %table.form_upper{:style => "display:none;", :id => 'profile-info'} 
    %tr{:id => 'some-row'} 
+1

Not ekran 'O: block' olduğunu Bir tablo için yanlış görüntü stili. Sadece gerektiğinde gizlemek ve doğru görüntü stiline varsayılan olarak izin vermek daha iyidir. – Phrogz

+0

doğru! düzeltme için teşekkürler! Bunu en iyi çözümü – YogiZoli

3

Bir nil veya false değeri, Haml içeren bir özellik sağlarsanız ayarlayın olmaz:

Haml:

- # substitute an appropriate semantic class name here (not "hidden") 
%table.form_upper#profile-info{ class:condition && 'empty' } 

CSS: Daha fazla tersely

table.empty { display:none } 
+0

düzenleyeceğim, bunu seçin – YogiZoli