Ruby on rails 表单生成器不是通过Capybara规范呈现的

Ruby on rails 表单生成器不是通过Capybara规范呈现的,ruby-on-rails,capybara,formbuilder,poltergeist,Ruby On Rails,Capybara,Formbuilder,Poltergeist,我有一个Rails应用程序正在使用。当我在浏览器上手动访问使用formBuilder呈现表单的页面时,它工作正常。但是通过Capybara spec&Poltergeist访问页面时,表单生成器不会呈现 我有formbuilder.min.js和form render.min.js两个版本2.2.5 水豚2.15.4 Poltergeist 1.9.0使用Poltergeist时,JS最可能出现的问题是,资产管道编译的某些JS中存在错误,或者在编译到资产管道的JS文件中使用了>ES5功能 Pha

我有一个Rails应用程序正在使用。当我在浏览器上手动访问使用formBuilder呈现表单的页面时,它工作正常。但是通过Capybara spec&Poltergeist访问页面时,表单生成器不会呈现

我有
formbuilder.min.js
form render.min.js
两个版本2.2.5

水豚2.15.4


Poltergeist 1.9.0

使用Poltergeist时,JS最可能出现的问题是,资产管道编译的某些JS中存在错误,或者在编译到资产管道的JS文件中使用了>ES5功能


PhantomJS(Poltergeist所依赖的)不支持比ES5更大的任何东西,所以所有的JS都必须经过传输和多填充才能在ES5“浏览器”上运行。由于Rails在测试模式下将JS文件连接在一起,任何JS资产中的错误或ES6功能的使用都可能导致PhantomJS停止处理稍后包含的文件。如果在Poltergeist配置中启用js_errors,您可能会看到报告的错误,但是PhantomJS中有一个bug,它可能会自动停止处理带有某些ES6功能(let、const等)的js,因此,仅仅因为您没有看到报告的错误并不意味着js中没有问题。

您使用的是webpacker吗?@Kkulikovskis no,我没有。我已切换到FormBuilder2.9,其中包含ES6,问题已解决。谢谢:)