【发布时间】:2013-07-04 05:17:39
【问题描述】:
我最近将我的代码从 Rails 3.x 升级到 Rails 4。在 Rails 3.x 中一切正常但是,我现在注意到,当我点击提交时,我的应用程序不再发布无名属性参数。该应用程序应该在发布之前使用 Braintree.js(支付网关脚本)来加密无名参数。有什么想法吗?这可能与 Rails 4 中的强参数有关吗?我该如何解决?谢谢。
【问题讨论】:
-
嗨 Kidada,我在 Braintree 工作。没有“名称”属性的字段从未发布;这发生在浏览器中,因此 rails 的版本无关紧要。 Braintree.js 应该为您添加“名称”参数;由于您在升级到 Rails 4 时所做的一些更改,它可能无法正常工作。我建议您 reach out to our support team 或在此处发布您的实际代码以及页面的 HTML 源代码,以便人们可以查找问题。
-
我在发帖之前联系了 Braintree 支持。我相信我知道发生了什么。 Rails 4 附带了 Turbolinks gem。这个 gem 使用 Ajax 来加速大多数应用程序中的页面呈现。当您创建 Rails 4 应用程序时,它会自动包含在内。问题是 Turbolinks 和 Braintree.js 表现不佳。结果,Braintree.js 没有执行,因此加密的信用卡信息无法与其他模型绑定参数一起发布。我禁用了 Turbolinks(通过 gemfile 和 application.js),Braintree 恢复正常运行
标签: ruby-on-rails ruby-on-rails-4 braintree