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(' '))いくつかの条件について。