aris
November 3, 2012, 10:48am
1
Ciao a tutti,
Devo caricare tramite csv dei dati un due modelli in relazione tra loro
address(name, surname, email) has_many options(key, value)
Il codice che uso e questo e dalla console mi funziona correttamente…
csv = CSV.parse(params[:file].read, :headers => true)
csv.each do |row|
row = row.to_hash.with_indifferent_access
address = @campaign.addresses.new (email: row[‘email’], name:
row[‘name’], surname: row[‘surname’])
(row.keys - [‘email’,‘name’,‘surname’]).each {|k|
address.options.build( key: k, value: row[k])}
address.save
end
Ma nel momento in cui lo metto nel controller cambia idea: se gli faccio
fare anche il build delle opzioni mi restituisce un runtime error:
can’t modify frozen String: INSERT INTO “options” (“address_id”,
“created_at”, “key”, “updated_at”, “value”) VALUES (?, ?, ?, ?, ?)
Commentando la riga delle opzioni lavora tranquillamente.
Non capisco, sopratutto il perchemi funziona da console, immagino che ci siano piu
controlli in development che in console ma non capisco
quali.
Ciao a tutti
Andrea
reis
November 4, 2012, 5:50am
2
Mi sono svegliato alle cinque con la soluzione (chi l’avrebbe mai detto
che un giorno al mio risveglio avrei visto stringhe invece di favole e
fate).
Fallisce nella conversione della chiave in stringa. Ho cambiato k in
String.new(k) ottenendo un nuovo oggetto invece di una alterazione
dell’oggetto congelato.
Non mi eancora chiaro perche
nella console funzionasse ma posso
svegliarmi con proprio tutte le soluzioni.
Mi scuso per i periodi infausti, ma non sono completamente sveglio e
torno a dormire
Andrea
reis
November 4, 2012, 12:38pm
3
Il giorno 04 novembre 2012 05:50, Andrea R.
[email protected] ha scritto:
Mi sono svegliato alle cinque con la soluzione (chi l’avrebbe mai detto
che un giorno al mio risveglio avrei visto stringhe invece di favole e
fate).
:-))
Buon segno (o cattivo segno … chi lo sa
E’ la passione che ci guida (cit.)
Fallisce nella conversione della chiave in stringa. Ho cambiato k in
String.new(k) ottenendo un nuovo oggetto invece di una alterazione
dell’oggetto congelato.
Non mi e ancora chiaro perche
nella console funzionasse ma posso
svegliarmi con proprio tutte le soluzioni.
Mi scuso per i periodi infausti, ma non sono completamente sveglio e
torno a dormire
E speriamo che stavolta il risveglio sia con favole e (belle) fate :-p
S.