2012-08-09 39 views
0

我想用簡單的文本在rails中做一個簡單的用戶通知。我希望那裏有多個通知,所以我的問題是我必須創建一個全新的遷移並創建與我的用戶模型的關聯,還是有一些方法來擴展我的用戶表中的「通知」文本屬性?我想你可以在通知之間插入換行符,但這不是我正在尋找的,因爲這聽起來會太麻煩。謝謝!在rails中發出用戶通知

回答

2

如果你只是想保存通知只有你能告訴Rails把它當作一個陣列(通知列類型應該是text):

class User < ActiveRecord::Base 
    serialize :notifications, Array 
end 

如果你想存儲任何額外的通知細節(如作者或時間戳或其他),你應該去一個單獨的模型。

Rails文檔:Active Record,搜索「在文本列中保存數組,哈希和其他不可映射的對象」。

+0

這就是我正在尋找的,thx – Steve 2012-08-10 06:19:30

1

如果您想保留通知的歷史記錄以供用戶稍後查看,那麼您希望將其存儲在數據庫中。意思是,你會想在數據庫中創建一個新表。你應該通過一個遷移腳本來做到這一點。這個新模型應該與用戶模型相關聯,以便您可以執行諸如user.notifications之類的操作來檢索其所有通知。

另外,如果您在新的Notifications模型中使用timestamps,您可以稍後進行一些有趣的分析。