技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

ActiveRecord::Type::Booleanでフラグ条件判定する便利な方法

has_option_thumbnail == 'true' みたいな条件判定をした場合、has_option_thumbnail == 'TRUE'のような場合ではfalseと判定されてしまいます。

この対策としてhas_option_thumbnail == 'true' || has_option_thumbnail == 'TRUE'にすればOKなんですが、なんかダサい。

■ Active Model Type Booleanで条件判定する

Active Model Type Booleanを利用すればスマートに条件判定できます。

ActiveRecord::Type::Boolean.new.cast('true' ) -> true ActiveRecord::Type::Boolean.new.cast('TRUE' ) -> true

参考リンク:

ActiveRecord::Type::Boolean