2012-11-22 97 views
0

這裏我的移民:如果我不將「default」添加到遷移方法,字段值是否爲空?

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 

所有我想要的是對這些領域值創建對象時。這是ruby的默認行爲,或者我仍然需要添加default => 0,以確保它們不會爲null?事實上,我不想開始檢查變量是否爲null。

我做了一些研究,但我還是不太明白它是如何工作的。

感謝您的幫助

回答

4

你必須明確地設置默認是爲每個列爲零,否則默認爲空/空。

t.integer :ical, :default => 0 
相關問題