我想寫一個遷移,它看起來是這樣的:在rails遷移中設置不同的默認值?
class AddStatusToWorks < ActiveRecord::Migration
def self.up
change_table :works do |t|
t.string :status
end
end
def self.down
change_table :works do |t|
t.remove :status
end
end
end
事情是,我想設置基於一個布爾值,這是已經在表中「地位」不同的默認值「完成。」如果complete = true,則status =「complete」。如果不是,狀態=「正在進行中」。 (我想要一個字符串,而不是像布爾值一樣保持完整的原因是因爲我希望能夠有兩種以上的可能狀態。)任何想法如何做到這一點?我只是堅持一條if語句像這樣
change_table :works do |t|
t.string :status
if (:complete == true)
:value => "complete"
else
:value => "wip"
end
呃,這樣看起來不太對勁。我google了一下,發現你可以設置:默認值,但那不是我想要的。任何想法/幫助將是可愛的。謝謝!
所以,你想基於'complete'的當前值來初始化'status'嗎?那麼新排呢? –
呃...新排?我在這方面略顯無力,對不起。 –
等等!你的意思是新行是否在數據庫的未來條目中?在這些情況下,用戶會在創建新工作時設置一個值。只是數據庫中已經有很多條目了,我想知道是否有自動設置它們的值的方法。 –