SOには同様の質問がないので、他の開発者を助けるためだけに。
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)
SOには同様の質問がないので、他の開発者を助けるためだけに。
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)
回答:
以下の例をご覧ください。
div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)
同じアプローチを使用して、動的な値を他の属性に割り当てることができます。
div.councilor class=(councilor.retired? ? "retired" : "")
:生成div.councilor.retired
複数の条件がある場合、私は今のようなものをしています
div class=(('foo ' if is_foo?) + ('bar' if is_bar?))
is_barなら傷だと思いますが?falseを返し、生成されたHTMLの結果は
<div class="foo "></div>
(傷は、の後の空白文字foo
です)。誰かがそのための解決策を持っているなら、素晴らしいでしょう。
String#rstrip
この場合、2つの条件で 試してくださいdiv class=((('foo ' if is_foo?) + ('bar' if is_bar?)).rstrip)
。またはdiv class=([('foo' if is_foo?), ('bar' if is_bar?)].compact.join(' '))
いくつかの条件について。