Forum: Italian Ruby user group Problema form con hash

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
B8b8f3f5913767f4817ddf4ba1eb4f4d?d=identicon&s=25 Alessio Varalta (alessio_v85)
on 2016-05-09 17:51
Ciao, sto svillupando con rails 3 ed ho un form con un hash

<input  type="text" size="25" name="person[birthplace[it]]"
id="person_birthplace[it]" value="" >

<input  type="text" size="25" name="person[birthplace[de]]"
id="person_birthplace[de]" value="" >

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?
Eff93e9bbe063b7136c9b6f218071a09?d=identicon&s=25 Marco Mastrodonato (marcomd)
on 2016-05-13 10:42
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]
B8b8f3f5913767f4817ddf4ba1eb4f4d?d=identicon&s=25 Alessio Varalta (alessio_v85)
on 2016-05-18 09:44
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
This topic is locked and can not be replied to.