je l'objet javascript suivant contenant une propriété email multi-valeur:Construire JSON multi-valeur pour Rails
var contact = {
email = {
home = (
"[email protected]"
);
work = (
"[email protected]"
);
};
emailCount = 2;
firstName = Micah;
lastName = Alcorn;
}
Et je dois construire le JSON ci-dessous pour envoyer à un serveur Rails:
processedContact.params = {
'contact[first_name]':'Micah',
'contact[last_name]':'Alcorn',
'contact[emails_attributes][0][label]':'home',
'contact[emails_attributes][0][account]':'[email protected]',
'contact[emails_attributes][1][label]':'work',
'contact[emails_attributes][1][account]':'[email protected]',
};
Je ne sais pas comment aller au-delà de ce qui suit:
function processContact(contact) {
processedContact = {};
processedContact.params = {
'contact[first_name]':contact.firstName,
'contact[last_name]':contact.lastName,
// ????????
};
for (each in contact.email) {
// this can be used to produce the email.account values, but not the email.labels
}
}
Si je tape ce statiquement, m L'application y Rails le gère correctement. Mais laissez-moi savoir s'il est préférable de le gérer côté serveur pour ne pas avoir à construire manuellement le JSON. Merci!
Dans mon cas particulier d'utilisation, je devais changer la dernière param à 'processedContact.params [ « [la emails_attributes] [ » + index + '] [compte]'] = contact.email [label] .toString(); '. Merci beaucoup! –