2013-07-04 3 views
1

J'ai récemment mis à jour mon code de Rails 3.x à Rails 4. Tout a fonctionné dans Rails 3.x Cependant, je remarque maintenant que mon application ne publie plus les paramètres d'attribut sans nom quand je hit submit. L'application est censée utiliser Braintree.js (script de passerelle de paiement) pour crypter les params sans nom juste avant de poster. Des pensées? Cela pourrait-il être connecté avec des paramètres forts dans Rails 4? Comment puis-je le réparer? Merci.Les attributs sans nom ne plus poster

+1

Salut Kidada, je travaille à Braintree. Les champs sans attribut "name" n'ont jamais été postés; Cela arrive dans le navigateur, donc la version des rails n'a pas d'importance. Braintree.js devrait ajouter le paramètre "name" pour vous; il est possible que cela ne fonctionne pas correctement en raison de certaines modifications que vous avez apportées lors de la mise à niveau vers Rails 4. Je vous suggère de [contacter notre équipe de support] (http://support.braintreepayments.com/) ou de poster votre code ici ainsi que la source HTML de la page afin que les gens puissent chercher le problème. – agf

+0

J'ai contacté Braintree Support avant de poster ici. Je crois avoir compris ce qui se passait. Rails 4 est livré avec la gemme Turbolinks. Cette gem utilise Ajax pour accélérer le rendu des pages dans la plupart des applications. Il est automatiquement inclus lorsque vous créez une application Rails 4. Le problème était que Turbolinks et Braintree.js ne jouaient pas bien. Par conséquent, Braintree.js n'était pas en cours d'exécution et les informations de carte de crédit chiffrées n'ont donc pas pu être affichées avec les autres paramètres liés au modèle. J'ai désactivé Turbolinks (via gemfile et application.js), et Braintree est de retour à fonctionner normalement – Kidada

Répondre

2

Rails 4 est livré avec la gemme Turbolinks. Cette gem utilise Ajax pour accélérer le rendu des pages dans la plupart des applications. Il est automatiquement inclus lorsque vous créez une application Rails 4. Le problème était que Turbolinks et Braintree.js ne jouaient pas bien. Par conséquent, Braintree.js n'était pas en cours d'exécution et les informations de carte de crédit chiffrées n'ont donc pas pu être affichées avec les autres paramètres liés au modèle. J'ai désactivé Turbolinks (via gemfile et application.js), et Braintree est de retour à fonctionner normalement.

Questions connexes