2017-03-14 72 views
0

我有一個名爲SystemState的模型。以下是創建該表中的遷移:無法使用所需的字符串值保存/更新字段

create_table :system_states do |t| 
    t.string :code 
    t.timestamps 
end 

但是,即使代碼列爲類型的,當我做到以下幾點:

> SystemState.first 
> #<SystemState id: 1, code: 0, created_at: "2017-03-14 10:19:45", updated_at: "2017-03-14 10:28:33"> 

> SystemState.find(1).update_attributes(code: "system_alert_notification") 

> SystemState.first 
> #<SystemState id: 1, code: 0, created_at: "2017-03-14 10:19:45", updated_at: "2017-03-14 10:29:43"> 

可以看出,它始終將其更新爲(整數)。

是列名保留還是什麼?急於瞭解上述原因。

+0

似乎沒有列的保留字的完整列表。主演這個以後再回來看答案。 –

+2

它不可能是一個字符串,並在控制檯中顯示。你有沒有檢查你的數據庫或'schema.rb'文件?並在任何更改後重新加載控制檯? – Iceman

+0

@iceman是的,感謝指針,架構有它的整數,但我不確定它是如何結束的 – Abhi

回答

0

這裏有一些可能性:

1)可能codemysql的

2)另外,我敢肯定,保留字,在你的數據庫列是整數類型。將其更改爲字符串,它應該工作。

相關問題