2015-05-18 110 views
0

當創建ActiveRecord對象時,時間戳是否需要可爲空的虛假聲明?時間戳是否需要可空的虛假聲明

t.timestamps null: false 
+0

不,他們不。是什麼讓你這麼想? –

+0

Rails網站中的大多數文檔似乎都包含這些信息,而且我以前從未見過這種信息。因此,這個問題? – Rpj

+0

此外,在2018年,我的Rails 4.2生成器爲我插入'null:false'。我從來沒有見過它(自從我和Rails合作幾年後)。 –

回答

2

不,你不需要申報null: false的時間戳。 Rails自己處理它,你不應該玩你的代碼中的這些attrs。

如果你仍然希望它不爲空,即使強行,您需要提到它爲null: false即:

t.timestamps null: false 
+0

只有當您知道可以插入記錄而不涉及ActiveRecord :: Base子類並且您不希望在字段中創建/更新空記錄時,'null:false'纔有意義。 – Sebastian

2

t.timestamps null: false

t.column :created_at, :datetime 
    t.column :updated_at, :datetime 

而且兩者簡寫形式是一樣的。 欲瞭解更多詳情,Short-hand examples

相關問題