https://github.com/rmm5t/strip_attributes#examples
ли простой способ (то есть конфигурация) заставить ActiveRecord сохранять пустые строки как NULL в БД (если позволяет столбец)?
Причина этого заключается в том, что если в БД имеется столбец NULLable string без значения по умолчанию, новые записи, которые не устанавливают это значение, будут содержать NULL, тогда как новые записи, которые устанавливают это значение в пустую строку, не будут равны NULL, что приведет к к несоответствиям в базе данных, которых я хотел бы избежать.
Прямо сейчас я делаю такие вещи в моих моделях:
before_save :set_nil
def set_nil
[:foo, :bar].each do |att|
self[att] = nil if self[att].blank?
end
end
который работает, но не очень эффективный или сухой. Я мог бы включить это в метод и смешать его с ActiveRecord, но прежде чем идти по этому пути, я хотел бы знать, есть ли способ сделать это уже.