表单中的rails nils

hol*_*den 5 ruby null model ruby-on-rails

这可能是一个简单的问题,但我注意到有一些错误来源于空值而不是nils ...

如果用户在标准rails应用程序中将字段留空,是否有办法将数据库中的字段设置为NULL而不是输入空值?

基本上像@ model.info.nil这样的支票?返回true而不是检查它是否为零和空?

小智 4

我使用 var.blank?,因为我在针对 Ruby 1.8 运行的 Rails 3 控制台中得到以下结果:

>> nil.blank?
=> true
>> [].blank?
=> true
>> nil.empty?
NoMethodError: You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.empty?
        from (irb):4
Run Code Online (Sandbox Code Playgroud)

从历史上看,我没有见过.empty?为零对象工作。