Ho un modello Rails che ha una colonna del database di tipo "JSON":Come utilizzare il JSON tipo di campo ActiveRecord
create_table "games", force: true do |t|
t.json "game_board"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
Grande! Ora come lo uso? È davvero semplice come treating the field like a Hash
?
self.game_board[:player1] = 1
self.game_board[:cards] = cards.to_hash
Se dovessi scrivere che, sarebbe tutto solo funziona come previsto, quindi in un futuro chiamata API da un client ho potuto fare questo ?:
self.game_board[:player] # And get back the 1 that I put here before
Che dire di prestazioni pure? L'intero game_board
verrà de-serializzato ogni volta anche se quel campo non viene mai letto? Il campo verrà riscritto (IOW una scrittura del database) ogni volta che cambio una parte di "Hash?"