2013-07-04 44 views
1

我最近将代码从Rails 3.x升级到了Rails 4.一切工作在Rails 3.x中但是,现在我注意到我的应用程序不再发布无名属性参数点击提交。应用程序应该使用Braintree.js(支付网关脚本)在发布前加密无名参数。有什么想法吗?难道这与Rails 4中的强参数有关吗?我该如何解决它?谢谢。无名称属性不再发布

+1

嗨Kidada,我在布伦特里工作。没有“名称”属性的字段不会发布;这发生在浏览器中,所以rails的版本并不重要。 Braintree.js应该为你添加“name”参数;由于升级到Rails 4时所做的一些更改,它可能无法正常工作。我建议您[联系我们的支持团队](http://support.braintreepayments.com/)或将您的实际代码发布到此处以及页面的HTML源代码,以便人们可以查找问题。 – agf

+0

在发布之前,我联系了Braintree Support。我相信我知道发生了什么事。 Rails 4附带Turbolinks宝石。这个gem使用Ajax来加速大多数应用程序中的页面渲染。它会在您创建Rails 4应用程序时自动包含。问题是Turbolinks和Braintree.js打得不好。因此,Braintree.js未执行,因此加密的信用卡信息无法与其他模型绑定参数一起发布。我禁用了Turbolinks(通过gemfile和application.js),并且Braintree恢复正常运行 – Kidada

回答

2

导轨4船与Turbolinks宝石。这个gem使用Ajax来加速大多数应用程序中的页面渲染。它会在您创建Rails 4应用程序时自动包含。问题是Turbolinks和Braintree.js打得不好。因此,Braintree.js未执行,因此加密的信用卡信息无法与其他模型绑定参数一起发布。我禁用了Turbolinks(通过gemfile和application.js),并且Braintree恢复正常运行。