Hanya untuk membantu pengembang lain, karena tidak ada pertanyaan serupa di SO.
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)
Hanya untuk membantu pengembang lain, karena tidak ada pertanyaan serupa di SO.
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)
Jawaban:
Lihat contoh di bawah ini:
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)
Pendekatan yang sama dapat digunakan untuk menetapkan nilai dinamis ke atribut lain.
div.councilor class=(councilor.retired? ? "retired" : "")
menghasilkan:div.councilor.retired
Jika Anda memiliki beberapa kondisi yang saya lakukan sekarang seperti
div class=(('foo ' if is_foo?) + ('bar' if is_bar?))
Meskipun saya merasa jika is_bar menjadi cacat? return false dan HTML yang dihasilkan menghasilkan
<div class="foo "></div>
(noda adalah karakter kosong setelah foo
). Jika seseorang punya solusi untuk itu akan luar biasa.
String#rstrip
dalam hal ini dengan 2 kondisi: div class=((('foo ' if is_foo?) + ('bar' if is_bar?)).rstrip)
. Atau div class=([('foo' if is_foo?), ('bar' if is_bar?)].compact.join(' '))
untuk beberapa kondisi.