这是我的迁移:
def change
create_table :activities do |t|
t.integer :week
t.decimal :jog, :precision => 3, :scale => 1
t.integer :pushups
t.integer :situps
t.decimal :bicycl, :precision => 3, :scale => 1
t.integer :squats
t.integer :lunges
t.integer :ical
t.integer :bcal
t.integer :foodid
t.integer :bmi
t.decimal :bmr, :precision => 5, :scale => 2
t.references :user
t.timestamps
end
add_index :activities, :user_id
end
我想要的是在创建对象时为这些字段设置 0 值。这是ruby的默认行为还是我还需要添加default => 0,确保它们不会为空?实际上我不想开始检查变量是否为null。
我做了一些研究,但我仍然不明白它是如何运作的。
感谢您的帮助
答案 0 :(得分:4)
您必须为每列显式设置默认值为零,否则默认值为null / empty。
t.integer :ical, :default => 0