Ruby on rails Rails:测试列是否允许nil值

Ruby on rails Rails:测试列是否允许nil值,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,这个答案建议使用mixin将空字符串列值设置为nil 有没有办法测试列是否接受nil/null值 > f = Foobar.find(1) => #<Entity id: 7, name: "foo", description: nil, has_bar: false, created_at: "2014-08-04 21:50:42", updated_at: "2014-08-05 19:35:33"> > f.has_bar.allow_nil? NoMet

这个答案建议使用mixin将空字符串列值设置为nil

有没有办法测试列是否接受nil/null值

> f = Foobar.find(1)
=> #<Entity id: 7, name: "foo", description: nil, has_bar: false, created_at: "2014-08-04 21:50:42", updated_at: "2014-08-05 19:35:33">

> f.has_bar.allow_nil?
NoMethodError: undefined method `allow_nil?' for nil:NilClass
attributes.each do |column, value|
  # invalid syntax
  ( self[column].present? && self[column].allow_nil? ) || self[column] = nil
end
f.description.nil? && (f.has_bar == true || f.has_bar == false)