Hanya untuk membantu pengembang lain, karena tidak ada pertanyaan serupa di SO.
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)
ruby-on-rails
slim-lang
Sergey Alekseev
sumber
sumber
div.councilor class=(councilor.retired? ? "retired" : "")
menghasilkan:div.councilor.retired
Saya menggunakan array kelas dan elemen nil jika tidak perlu menyertakan kelas dalam daftar, kemudian larik kompak untuk menghapus elemen nil dan akhirnya bergabung semuanya.
sumber
Jika Anda memiliki beberapa kondisi yang saya lakukan sekarang seperti
Meskipun saya merasa jika is_bar menjadi cacat? return false dan HTML yang dihasilkan menghasilkan
(noda adalah karakter kosong setelah
foo
). Jika seseorang punya solusi untuk itu akan luar biasa.sumber
String#rstrip
dalam hal ini dengan 2 kondisi:div class=((('foo ' if is_foo?) + ('bar' if is_bar?)).rstrip)
. Ataudiv class=([('foo' if is_foo?), ('bar' if is_bar?)].compact.join(' '))
untuk beberapa kondisi.