给数据表设置默认值来防止空指针引起的异常

开发中经常会遇到一些返回空值nil的情况,如果在nil上面调用了方法,则会抛出NoMethodError异常。因此,我们可以给数据表设置默认值来防止空置引起的异常。

这并不代表就解决了问题,起码会避免应用直接崩溃,至于没有得到期待的结果,那还是要去单独排查解决的。

class CreateProducts < ActiveRecord::Migration
  def change
    create_table :products do |t|
      t.string :title, default: ""
      t.decimal :price, default: 0.0
      t.boolean :published, default: false
      t.integer :user_id

      t.timestamps
    end
    add_index :products, :user_id
  end
end