我使用mongoid在我的項目,有具有散列領域的典範:爲什麼模型的散列字段鍵未保存爲符號?
field :settings, type: Hash
我定義了一個after_create
回調設置模型創建後的一些設置:
after_create :set_settings
def set_settings
settings[:test] = true
save!
end
,但現在我看到哈希保存字符串鍵,而不是與符號鍵:
{"test"=>true}
,然後我試圖symbolize_keys
這樣:
settings[:test] = true
settings.symbolize_keys!
save!
但它沒有工作。
問題是,如果我們手動在控制檯中執行這些過程,那麼散列將使用符號鍵保存!
有什麼想法嗎?