我正在尝试使用 capybara/cucumber 启用 autoUpload 选项来测试 jquery-file-upload 插件。该问题似乎与 autoUpload 选项有关,因为在没有设置 autoUpload 选项的情况下,测试环境中的上传工作有效。我正在使用 attach_file capybara 方法上传。该方法触发了更改事件侦听器,但显然没有太多其他内容。它永远不会触发附件的创建操作,当我尝试手动触发提交事件侦听器时,创建操作中的 params[:attachment] 为空,无法创建附件。
目前的设置方式是这样的:
- 我有 3 个模型,一个项目模型,一个附件模型和一个问题模型
- 问题的索引页面上有 2 个表单 - 一个处理提交新附件的表单,另一个处理提交新问题的表单
- 每当触发附件创建操作时,jquery-file-upload 通过 javascript 填充隐藏字段,其中包含将附件添加到相关问题所需的数据 - 这是通过 jquery-file-upload 的 fileuploadcompleted 回调完成的
每当我尝试手动上传文件时,这种升级方式都有效,但在测试环境中失败。我尝试在附件表单中添加一个隐藏的提交按钮,当我通过水豚按下该按钮时,它会触发创建操作,但参数再次为空。我对该怎么做的想法已经不多了,所以如果有人有类似的问题,如果他们能帮助我,我将不胜感激。
如果有帮助,这里有一些相关的代码:
使用的宝石:
Rails 3.2.12
Capybara 2.1.0
Capybara-webkit 1.0.0
Jquery-fileupload-rails 0.3.0 - 也使用 0.4.1 进行测试,结果相同
如果您需要更多代码或任何其他信息,请告诉我,我可以立即编辑此帖子。
谢谢!