Form Builder 不是通过 Capybara 规范呈现的

Form Builder is not rendered via Capybara spec

我有一个 Rails 应用正在使用 formBuilder。当我在我的浏览器上手动访问页面时,我在其中使用 formBuilder 呈现我的表单,它工作得很好。但是通过 Capybara spec & Poltergeist 访问页面,formBuilder 没有呈现。

我有 form-builder.min.jsform-render.min.js 两个版本 2.2.5。

水豚 2.15.4

闹鬼 1.9.0

使用 Poltergeist 时 JS 未按预期执行的最可能问题是资产管道编译某些 JS 时出错,或者在编译到资产中的 JS 文件中使用 > ES5 功能管道。

PhantomJS(Poltergeist 所依赖的)不支持任何大于 ES5 的东西,因此所有 JS 都必须在 ES5 "browser" 上转译和填充到 运行。由于 Rails 在测试模式下将 JS 文件连接在一起,任何 JS 资产中的错误或使用 ES6 功能都可能导致 PhantomJS 停止处理后面包含的文件。如果您在 Poltergeist 配置中启用 js_errors,您可能会看到报告的错误,但是 PhantomJS 中存在一个错误,它可能会默默地停止处理具有某些 ES6 功能(let、const 等 - https://github.com/teampoltergeist/poltergeist/issues/823)的 JS所以仅仅因为您没有看到报告的错误并不意味着 JS 中没有问题。