Ciao a tutti,
Per inviare delle email utilizzo gsub per modificarne il contenuto.
Attualmente utilizzo un set di variabili limitato e predefinito che
allego all'indirizzo (nome,cagnome,email,var1,var2,var3,var4,var5) e poi
effettuo la sostituzione con questo semplice helper:
def usertext(text, address)
return
text.gsub(/({email}|{name}|{surname}|{var1}|{var2}|{var3}|{var4}|{var5})/,
"{email}" => address.email, "{name}" => address.name, "{surname}" =>
address.surname, "{var1}" => address.var1, "{var2}" => address.var2,
"{var3}" => address.var3, "{var4}" => address.var4, "{var5}" =>
address.var5)
end
La mia idea sarebbe di rendere le opzioni dinamiche mettendole in una
tabella collegata
address has_many options
La stringa di ricerca la genero facilmente con un metodo ad hoc nel
modello address ma non riesco a trovare una soluzione per le
sostituzioni o meglio: riesco ad ottenere un hash con le coppie chiave
valore ( {"{var1}" => "val1", ..} ) ma gsub non mi accetta un hash
unico ne pretende vari separati e non capisco come farlo.....
Qualche idea?
Andrea
on 2012-07-12 11:57
on 2012-07-12 13:24
Usa l'interpolazione via hash. http://ruby-doc.org/core-1.9.3/String.html#method-i-25 Usi %{foo} come placeholder, poi passi l'hash con i valori da sostituire. -- Simone 2012/7/12 Andrea Ranaldi <andrea.ranaldi@gmail.com> > "{email}" => address.email, "{name}" => address.name, "{surname}" => > > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ml mailing list > Ml@lists.ruby-it.org > http://lists.ruby-it.org/mailman/listinfo/ml > -- Simone Carletti Application Developer Site & Blog: http://www.simonecarletti.com/ LinkedIn: http://linkedin.com/in/weppos Skype: weppos
on 2012-07-12 15:06
Risolto.....
Il problema non era nel hash: gsub interpreta indistintamente sia vari
array separati da una virgola che un singolo array con tutto.
Es:
t.gsub(%r{reg}, "{uno}" => "value1", "{due}" => "value2") ==
t.gsub(%r{reg}, {"{uno}" => "value1", "{due}" => "value2"}) ==
t.gsub(%r{reg}, address.funzione_complessa_che_gerera_hash)
Posso quindi generarmi tranquillamente l'hash dal modello e passarglielo
tutto insieme.
Alla fine era piu` facile del previsto....
grazie
P.S. X Simone, Non ho capito la storia dell'interpolazione.... Alla fine
ottieni sempre una stringa no?
on 2012-07-12 15:54
S, ma l'implementazione necessaria molto pi ridotta. Alla fine non ti serve gsub quando la funzionalit presente di serie in String. 2012/7/12 Andrea Ranaldi <andrea.ranaldi@gmail.com> > P.S. X Simone, Non ho capito la storia dell'interpolazione.... Alla fine > ottieni sempre una stringa no? > -- Simone Carletti Application Developer Site & Blog: http://www.simonecarletti.com/ LinkedIn: http://linkedin.com/in/weppos Skype: weppos
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.