Problema form con hash


#1

Ciao, sto svillupando con rails 3 ed ho un form con un hash

il problema e che quando salvo con il metodo create i params nel
database il valore del campo mi diventa

— !ruby/hash:ActiveSupport::HashWithIndifferentAccess\n!binary
“aXQ=”

Qualche dritta?


#2

Ciao Alessio,

dovresti indicare come sono definiti i modelli, non ho capito cosa sia
person[birthplace[it]]

person è il modello, birthplace è l’attributo, it?

Comunque è corretto ricevere un hash, hai provato così?
person[birthplace][it]


#3

Ciao:

il modello e:

person entita
bithplace attributo di tipo testo.

Visto che l app e multilinuga italiana e tedesca creo questo tag con le
diverse lingue. Il problema e che se eseguo params.inspect nella
funzione create vedo

{“utf8”=>“✓”,

“authenticity_token”=>“RvpwQw/RdTAT2d4jtaSyBAYRgT1mKgWg9kyrS7pUnMo=”,
“person”=>{“birthplace”=>{“it”=>“Padova”, “de”=>“Padovan”}},
“commit”=>“Create Person”, “action”=>“create”, “controller”=>“people”}

ma birthplace nel database viene salvato come

— !ruby/hash:ActiveSupport::HashWithIndifferentAccess\nit: Padova\nde:
Padovan\n

Anche se provo a cambiare

person[birthplace[it]]

con

person[birthplace][it]

viene salvato nello stesso modo. Se invece provo con rails c

person.birthplace={“it”=>“Salisburgo”, “de”=>“Salisburgo”}
person.save!

allora viene salvato correttamente quindi deve essere il passaggio da
html a controller a database che non va