Diğer geliştiricilere yardımcı olmak için, çünkü SO'da benzer bir soru yok.
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)
Diğer geliştiricilere yardımcı olmak için, çünkü SO'da benzer bir soru yok.
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)
Yanıtlar:
Aşağıdaki örneklere bakın:
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)
Aynı yaklaşım, diğer özniteliklere dinamik değerler atamak için kullanılabilir.
div.councilor class=(councilor.retired? ? "retired" : "")
oluşturur:div.councilor.retired
Birden fazla koşulunuz varsa, şu anda şöyle bir şey yapıyorum
div class=(('foo ' if is_foo?) + ('bar' if is_bar?))
İs_bar if bir kusur olduğunu düşünmeme rağmen? false döndürür ve oluşturulan HTML sonucu
<div class="foo "></div>
(leke, 'den sonraki boş karakterdir foo
). Birinin bunun için bir çözümü olsaydı harika olurdu.
String#rstrip
2 koşullarla bu durumda: div class=((('foo ' if is_foo?) + ('bar' if is_bar?)).rstrip)
. Veya div class=([('foo' if is_foo?), ('bar' if is_bar?)].compact.join(' '))
birkaç koşul için.