我正在使用Capybara / Cucumber测试jquery-file-upload插件,并启用了autoUpload选项。问题似乎与autoUpload选项有关,因为当未设置autoUpload选项时,在测试环境中上传功能正常运行。我正在使用attach_file Capybara方法进行上传。该方法触发change事件监听器,但似乎没有其他操作。它从未触发附件的create操作,当我尝试手动触发submit事件监听器时,create操作中的params[:attachment]为空,因此无法创建附件。
目前的设置方式如下: - 我有3个模型,一个项目模型,一个附件模型和一个问题模型 - 在Issues的索引页面上有2个表单 - 一个表单用于提交新附件,另一个表单用于提交新问题 - 每当触发Attachment create操作时,jquery-file-upload会通过JavaScript填充一个隐藏字段,其中包含将附件添加到相关问题所需的数据 - 这是使用jquery-file-upload的fileuploadcompleted回调完成的。
每当我手动上传文件时,这种上传方式都有效,但在测试环境中失败了。我尝试向附件表单添加一个隐藏的提交按钮,当我通过capybara按下该按钮时,它会触发create操作,但params再次为空。我已经想尽了办法,所以如果有人遇到类似的问题,如果他们能帮我解决,我将不胜感激。
如果需要,这是一些相关代码: jquery-file-upload initalization and attachment form 使用的宝石: Rails 3.2.12 Capybara 2.1.0 Capybara-webkit 1.0.0 Jquery-fileupload-rails 0.3.0 - 也测试过0.4.1,结果相同
如果需要更多的代码或其他信息,请让我知道,我可以立即编辑此帖子。
谢谢!
目前的设置方式如下: - 我有3个模型,一个项目模型,一个附件模型和一个问题模型 - 在Issues的索引页面上有2个表单 - 一个表单用于提交新附件,另一个表单用于提交新问题 - 每当触发Attachment create操作时,jquery-file-upload会通过JavaScript填充一个隐藏字段,其中包含将附件添加到相关问题所需的数据 - 这是使用jquery-file-upload的fileuploadcompleted回调完成的。
每当我手动上传文件时,这种上传方式都有效,但在测试环境中失败了。我尝试向附件表单添加一个隐藏的提交按钮,当我通过capybara按下该按钮时,它会触发create操作,但params再次为空。我已经想尽了办法,所以如果有人遇到类似的问题,如果他们能帮我解决,我将不胜感激。
如果需要,这是一些相关代码: jquery-file-upload initalization and attachment form 使用的宝石: Rails 3.2.12 Capybara 2.1.0 Capybara-webkit 1.0.0 Jquery-fileupload-rails 0.3.0 - 也测试过0.4.1,结果相同
如果需要更多的代码或其他信息,请让我知道,我可以立即编辑此帖子。
谢谢!