converting null to false in sql automatically
我有一个名为
但是我意识到很多地方都依赖于自动将 nil 转换为 false。如果对象为 null,它将自动转换为 false。在此迁移之后,如果对象为空,则会发生错误。
例如:
1 2 3 | params.merge!({ ended: nokogiri_doc.at_css('.foo') }) |
我不想手动添加 .present?对这些陈述中的每一个。有
在数据库中,将列
1 | change_column 'table', 'ended', :BOOLEAN, :NULL => FALSE, :DEFAULT => 0 |
另一种方法,定义一个 after_initialize 回调来自动将列设置为 false:
1 2 3 4 5 | after_initialize :set_default_false def set_default_false SELF.ended = FALSE IF attribute_present?(:ended) AND new_record? OR ended.blank? END |